@crapthings/run3d 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,9 +3,13 @@
3
3
  A simple 3D sandbox so you don't have to set up the same project every time.
4
4
  JavaScript, Vite, React Three Fiber, Drei, and Tailwind CSS — with a grid and a box to start with.
5
5
 
6
+ Also includes [pmndrs/math](https://github.com/pmndrs/math) (`math`), [React Three Rapier](https://github.com/pmndrs/react-three-rapier) (`@react-three/rapier`), and [Floating UI for React](https://floating-ui.com/docs/react) (`@floating-ui/react`).
7
+
8
+ React and React DOM are pinned to 19.2.8 to match React Three Fiber 9.7's supported range (`>=19 <19.3`). The template uses stable dependencies and a committed lockfile for reproducible installs.
9
+
6
10
  ## Usage
7
11
 
8
- Requires Node.js `^20.19.0 || >=22.12.0` and pnpm.
12
+ Requires Node.js `^20.19.0 || >=22.12.0` and pnpm. Generated projects pin pnpm 12.4.1.
9
13
 
10
14
  ```bash
11
15
  npx @crapthings/run3d my-project
@@ -14,3 +18,17 @@ pnpm dev
14
18
  ```
15
19
 
16
20
  Edit `src/Scene.jsx` and start building. Use `--skip-install` to skip dependency installation.
21
+
22
+ ## Publishing
23
+
24
+ Log in once with `npm login`. From this repository, run:
25
+
26
+ ```bash
27
+ pnpm release # 0.1.1 → 0.1.2
28
+ pnpm release minor # 0.1.1 → 0.2.0
29
+ pnpm release major # 0.1.1 → 1.0.0
30
+ ```
31
+
32
+ The command checks that the current branch includes the latest version on `origin`, checks npm login, runs lint, tests and a package dry run, bumps the version, commits **all current changes and unignored new files**, publishes to npm, then creates a version tag and pushes the commit and tag to the same branch on `origin`. Review `git status` first. npm may prompt for two-factor authentication.
33
+
34
+ If a release fails, follow the recovery commands printed by the script. If npm publishing succeeded but Git pushing failed, only retry the Git steps. Running `pnpm release` again starts a new version.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.1",
6
+ "version": "0.2.0",
7
7
  "description": "Create a minimal Vite, React Three Fiber, and Drei Grid starter project",
8
8
  "type": "module",
9
9
  "bin": {
@@ -24,10 +24,11 @@
24
24
  "node": "^20.19.0 || >=22.12.0"
25
25
  },
26
26
  "scripts": {
27
- "lint": "standard \"bin/**/*.js\" \"test/**/*.js\" \"template/src/**/*.{js,jsx}\" template/vite.config.js",
27
+ "lint": "standard \"bin/**/*.js\" \"scripts/**/*.js\" \"test/**/*.js\" \"template/src/**/*.{js,jsx}\" template/vite.config.js",
28
28
  "lint:fix": "pnpm lint --fix",
29
29
  "test": "node --test",
30
- "pack:check": "npm pack --dry-run"
30
+ "pack:check": "npm pack --dry-run",
31
+ "release": "node scripts/release.js"
31
32
  },
32
33
  "keywords": [
33
34
  "vite",
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "version": "0.0.0",
5
5
  "type": "module",
6
- "packageManager": "pnpm@11.20.0",
6
+ "packageManager": "pnpm@12.4.1",
7
7
  "engines": {
8
8
  "node": "^20.19.0 || >=22.12.0"
9
9
  },
@@ -13,10 +13,13 @@
13
13
  "preview": "vite preview"
14
14
  },
15
15
  "dependencies": {
16
+ "@floating-ui/react": "^0.27.20",
16
17
  "@react-three/drei": "^10.7.8",
17
18
  "@react-three/fiber": "^9.7.0",
18
- "react": "19.3.0",
19
- "react-dom": "19.3.0",
19
+ "@react-three/rapier": "^2.2.0",
20
+ "math": "0.1.0",
21
+ "react": "19.2.8",
22
+ "react-dom": "19.2.8",
20
23
  "three": "^0.186.0"
21
24
  },
22
25
  "devDependencies": {
@@ -1,3 +1,161 @@
1
+ ---
2
+ lockfileVersion: '9.0'
3
+
4
+ importers:
5
+
6
+ .:
7
+ configDependencies: {}
8
+ packageManagerDependencies:
9
+ pnpm:
10
+ specifier: 12.4.1
11
+ version: 12.4.1
12
+
13
+ packages:
14
+
15
+ '@pnpm/exe.android-arm64@12.4.1':
16
+ resolution: {integrity: sha512-/HwsqXMSmlOfgtV9+O0ratzjV6Vd/8n1hh4rGHpCGmDURvt52MwZxdbhyxP4K03ZfvgSDvotFPr8O+RzE5Eu8A==}
17
+ cpu: [arm64]
18
+ os: [android]
19
+
20
+ '@pnpm/exe.android-x64@12.4.1':
21
+ resolution: {integrity: sha512-+l74Qb4c2YjOzNKHXJLg+1wr8xHM1ckkUhnU5KRUK9TJqiiczt6yeTZqqzHIlJ8i6pAoj5V0OJevDRwnQKLgrQ==}
22
+ cpu: [x64]
23
+ os: [android]
24
+
25
+ '@pnpm/exe.darwin-arm64@12.4.1':
26
+ resolution: {integrity: sha512-6rkZkT3iGfaxknUdGHraqSWFvTa6N0ajAHluv9Ax0GRWs0sIcGNiFhDopv6xSZCsJZmG483aNS/b6UEDy3blfw==}
27
+ cpu: [arm64]
28
+ os: [darwin]
29
+
30
+ '@pnpm/exe.darwin-x64@12.4.1':
31
+ resolution: {integrity: sha512-Vb1CHlR88HghC1qUxjxjs82zQSXnXacPD+btG2CmG8Q/hBU7Q0/b2YWJKSQqZXicunV5khFtfTlAwJddV9RkYA==}
32
+ cpu: [x64]
33
+ os: [darwin]
34
+
35
+ '@pnpm/exe.freebsd-x64@12.4.1':
36
+ resolution: {integrity: sha512-iT3iHz3Nl0Sxxj7UPOtZ/aQ81AFsQhjoeWMAlPkSRO04gsgDGAXv3UYxOFaesMWsfNxaGn0A+CITbuCHFF66FA==}
37
+ cpu: [x64]
38
+ os: [freebsd]
39
+
40
+ '@pnpm/exe.linux-arm64-musl@12.4.1':
41
+ resolution: {integrity: sha512-aBooZfNXM5f+OGUgCAMFWpE/kAhsWfvmqIyMtHy6zl3aNxyInWrcY/Saln/UElzo7lZWMC0Yktroxd/2J26lNQ==}
42
+ cpu: [arm64]
43
+ os: [linux]
44
+ libc: [musl]
45
+
46
+ '@pnpm/exe.linux-arm64@12.4.1':
47
+ resolution: {integrity: sha512-TlOdacTTP09BgcMvwWBFRsu8VAjfwqwnslBj+XSq1JFM3ck4f3k+1O/747EuctxZxs3/o785b6Q3s7Pd92Ptsg==}
48
+ cpu: [arm64]
49
+ os: [linux]
50
+ libc: [glibc]
51
+
52
+ '@pnpm/exe.linux-ppc64@12.4.1':
53
+ resolution: {integrity: sha512-r/ab/MlIBo75oizUP5ITiziCCrnXz4SJwfErLQ+603AshB+Yq7xTMCoMtzTSCAMu6aaymIKkAFtZvd2J75Wq0w==}
54
+ cpu: [ppc64]
55
+ os: [linux]
56
+ libc: [glibc]
57
+
58
+ '@pnpm/exe.linux-riscv64@12.4.1':
59
+ resolution: {integrity: sha512-C/D1QWdKMiB8+wv/spl1rGITFUuqC+aI/fb6h8NB5sqxsOaGXeYc/g891oCuzggHn6SODk9p+I09hI76x/cMNw==}
60
+ cpu: [riscv64]
61
+ os: [linux]
62
+ libc: [glibc]
63
+
64
+ '@pnpm/exe.linux-s390x@12.4.1':
65
+ resolution: {integrity: sha512-nxz5zD4yXt94uzbStDk0QTPKW+aE92hH1b5tFXK9ctB1HE9Xcq1vjTiA2LsZMFC6p4gdu5OwQeFqYNAVGa6QlA==}
66
+ cpu: [s390x]
67
+ os: [linux]
68
+ libc: [glibc]
69
+
70
+ '@pnpm/exe.linux-x64-musl@12.4.1':
71
+ resolution: {integrity: sha512-5AwgFdGhVUg2kIweYGfxzSLEHiIG77PQhZAkXC3TwofQHsu1Wr+TrV5/rNX2PopFnHRzuE581zoB8F6Wle32yg==}
72
+ cpu: [x64]
73
+ os: [linux]
74
+ libc: [musl]
75
+
76
+ '@pnpm/exe.linux-x64@12.4.1':
77
+ resolution: {integrity: sha512-FJOZuuuQMhp0oLzBtcKkLXknBI92hfkmSnlKc47vfin4HrmfID5khY2lGekL9tCzk1cpR+HShEw/meFl+nHtzQ==}
78
+ cpu: [x64]
79
+ os: [linux]
80
+ libc: [glibc]
81
+
82
+ '@pnpm/exe.win32-arm64@12.4.1':
83
+ resolution: {integrity: sha512-OO7eKBL9S+xk5hRy+JUUZSNJknGuGe3GEUffsrlC2LbqKF02g+VX1anGIzSbJDvkkdnpJhSlxF5AUz2JzJu2Jw==}
84
+ cpu: [arm64]
85
+ os: [win32]
86
+
87
+ '@pnpm/exe.win32-x64@12.4.1':
88
+ resolution: {integrity: sha512-x7gJHZgHo6hp354xCYA2NvoFzYJkHwovt2kVsUBK5EmXULLcP51JGMq09CX+5FRFJUZFKoXjLu3mZWmfP7o6PQ==}
89
+ cpu: [x64]
90
+ os: [win32]
91
+
92
+ pnpm@12.4.1:
93
+ resolution: {integrity: sha512-LoHjmdc/6DkNqyXgaqeIq3pZCCSNL1o3D4K0gRR6ano2e/gEj5pv22Rg8hpm8FQt7bi5TKLIcjWWdBkgsWVtTA==}
94
+ engines: {node: '>=18.*'}
95
+ hasBin: true
96
+
97
+ snapshots:
98
+
99
+ '@pnpm/exe.android-arm64@12.4.1':
100
+ optional: true
101
+
102
+ '@pnpm/exe.android-x64@12.4.1':
103
+ optional: true
104
+
105
+ '@pnpm/exe.darwin-arm64@12.4.1':
106
+ optional: true
107
+
108
+ '@pnpm/exe.darwin-x64@12.4.1':
109
+ optional: true
110
+
111
+ '@pnpm/exe.freebsd-x64@12.4.1':
112
+ optional: true
113
+
114
+ '@pnpm/exe.linux-arm64-musl@12.4.1':
115
+ optional: true
116
+
117
+ '@pnpm/exe.linux-arm64@12.4.1':
118
+ optional: true
119
+
120
+ '@pnpm/exe.linux-ppc64@12.4.1':
121
+ optional: true
122
+
123
+ '@pnpm/exe.linux-riscv64@12.4.1':
124
+ optional: true
125
+
126
+ '@pnpm/exe.linux-s390x@12.4.1':
127
+ optional: true
128
+
129
+ '@pnpm/exe.linux-x64-musl@12.4.1':
130
+ optional: true
131
+
132
+ '@pnpm/exe.linux-x64@12.4.1':
133
+ optional: true
134
+
135
+ '@pnpm/exe.win32-arm64@12.4.1':
136
+ optional: true
137
+
138
+ '@pnpm/exe.win32-x64@12.4.1':
139
+ optional: true
140
+
141
+ pnpm@12.4.1:
142
+ optionalDependencies:
143
+ '@pnpm/exe.android-arm64': 12.4.1
144
+ '@pnpm/exe.android-x64': 12.4.1
145
+ '@pnpm/exe.darwin-arm64': 12.4.1
146
+ '@pnpm/exe.darwin-x64': 12.4.1
147
+ '@pnpm/exe.freebsd-x64': 12.4.1
148
+ '@pnpm/exe.linux-arm64': 12.4.1
149
+ '@pnpm/exe.linux-arm64-musl': 12.4.1
150
+ '@pnpm/exe.linux-ppc64': 12.4.1
151
+ '@pnpm/exe.linux-riscv64': 12.4.1
152
+ '@pnpm/exe.linux-s390x': 12.4.1
153
+ '@pnpm/exe.linux-x64': 12.4.1
154
+ '@pnpm/exe.linux-x64-musl': 12.4.1
155
+ '@pnpm/exe.win32-arm64': 12.4.1
156
+ '@pnpm/exe.win32-x64': 12.4.1
157
+
158
+ ---
1
159
  lockfileVersion: '9.0'
2
160
 
3
161
  settings:
@@ -8,18 +166,27 @@ importers:
8
166
 
9
167
  .:
10
168
  dependencies:
169
+ '@floating-ui/react':
170
+ specifier: ^0.27.20
171
+ version: 0.27.20(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
11
172
  '@react-three/drei':
12
173
  specifier: ^10.7.8
13
- version: 10.7.8(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0))(@types/react@19.3.0)(@types/three@0.186.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0)
174
+ version: 10.7.8(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0))(@types/react@19.3.0)(@types/three@0.186.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)
14
175
  '@react-three/fiber':
15
176
  specifier: ^9.7.0
16
- version: 9.7.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0)
177
+ version: 9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)
178
+ '@react-three/rapier':
179
+ specifier: ^2.2.0
180
+ version: 2.2.0(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0))(react@19.2.8)(three@0.186.0)
181
+ math:
182
+ specifier: 0.1.0
183
+ version: 0.1.0
17
184
  react:
18
- specifier: 19.3.0
19
- version: 19.3.0
185
+ specifier: 19.2.8
186
+ version: 19.2.8
20
187
  react-dom:
21
- specifier: 19.3.0
22
- version: 19.3.0(react@19.3.0)
188
+ specifier: 19.2.8
189
+ version: 19.2.8(react@19.2.8)
23
190
  three:
24
191
  specifier: ^0.186.0
25
192
  version: 0.186.0
@@ -46,6 +213,30 @@ packages:
46
213
  '@dimforge/rapier3d-compat@0.12.0':
47
214
  resolution: {integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==}
48
215
 
216
+ '@dimforge/rapier3d-compat@0.19.2':
217
+ resolution: {integrity: sha512-AZHL1jqUF55QJkJyU1yKeh4ImX2J93bVLIezT1+o0FZqTix6O06MOaqpKoJ4MmbDCsoZmwO+qc471/SDMDm2AA==}
218
+
219
+ '@floating-ui/core@1.8.0':
220
+ resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==}
221
+
222
+ '@floating-ui/dom@1.8.0':
223
+ resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==}
224
+
225
+ '@floating-ui/react-dom@2.1.9':
226
+ resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==}
227
+ peerDependencies:
228
+ react: '>=16.8.0'
229
+ react-dom: '>=16.8.0'
230
+
231
+ '@floating-ui/react@0.27.20':
232
+ resolution: {integrity: sha512-CMqMy7OaXl9W0eq1Uy7L7i2Y/anPvHmFmESd2CEw0t5YvZhcVCeo4MBevAmswRllX7Y2dEidA4ozGPunLSTQpw==}
233
+ peerDependencies:
234
+ react: '>=17.0.0'
235
+ react-dom: '>=17.0.0'
236
+
237
+ '@floating-ui/utils@0.2.12':
238
+ resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==}
239
+
49
240
  '@jridgewell/gen-mapping@0.3.13':
50
241
  resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
51
242
 
@@ -109,6 +300,13 @@ packages:
109
300
  react-native:
110
301
  optional: true
111
302
 
303
+ '@react-three/rapier@2.2.0':
304
+ resolution: {integrity: sha512-mVsqbKXlGZoN+XrqdhzFZUQmy8pibEOVzl4k7LC+LHe84bQnYBSagy1Hvbda6bL1PJDdTFyiDiBk5buKFinNIQ==}
305
+ peerDependencies:
306
+ '@react-three/fiber': ^9.0.4
307
+ react: ^19
308
+ three: '>=0.159.0'
309
+
112
310
  '@rolldown/binding-android-arm-eabi@1.2.8':
113
311
  resolution: {integrity: sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==}
114
312
  engines: {node: ^20.19.0 || >=22.12.0}
@@ -603,6 +801,9 @@ packages:
603
801
  magic-string@0.30.21:
604
802
  resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
605
803
 
804
+ math@0.1.0:
805
+ resolution: {integrity: sha512-hq5KkLblFiR8OO8ZYqPK02mBqrXuxJ6hwvhL3ZM9OFkAR82/20n4H768SWl4yVVrufh8VijEm42D4V9N8hDa2g==}
806
+
606
807
  meshline@3.3.1:
607
808
  resolution: {integrity: sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==}
608
809
  peerDependencies:
@@ -637,10 +838,10 @@ packages:
637
838
  promise-worker-transferable@1.0.4:
638
839
  resolution: {integrity: sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==}
639
840
 
640
- react-dom@19.3.0:
641
- resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==}
841
+ react-dom@19.2.8:
842
+ resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==}
642
843
  peerDependencies:
643
- react: ^19.3.0
844
+ react: ^19.2.8
644
845
 
645
846
  react-use-measure@2.1.7:
646
847
  resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==}
@@ -651,8 +852,8 @@ packages:
651
852
  react-dom:
652
853
  optional: true
653
854
 
654
- react@19.3.0:
655
- resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==}
855
+ react@19.2.8:
856
+ resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==}
656
857
  engines: {node: '>=0.10.0'}
657
858
 
658
859
  require-from-string@2.0.2:
@@ -667,9 +868,6 @@ packages:
667
868
  scheduler@0.27.0:
668
869
  resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
669
870
 
670
- scheduler@0.28.0:
671
- resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==}
672
-
673
871
  shebang-command@2.0.0:
674
872
  resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
675
873
  engines: {node: '>=8'}
@@ -696,6 +894,9 @@ packages:
696
894
  peerDependencies:
697
895
  react: '>=17.0'
698
896
 
897
+ tabbable@6.5.0:
898
+ resolution: {integrity: sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==}
899
+
699
900
  tailwindcss@4.3.3:
700
901
  resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==}
701
902
 
@@ -838,6 +1039,33 @@ snapshots:
838
1039
 
839
1040
  '@dimforge/rapier3d-compat@0.12.0': {}
840
1041
 
1042
+ '@dimforge/rapier3d-compat@0.19.2': {}
1043
+
1044
+ '@floating-ui/core@1.8.0':
1045
+ dependencies:
1046
+ '@floating-ui/utils': 0.2.12
1047
+
1048
+ '@floating-ui/dom@1.8.0':
1049
+ dependencies:
1050
+ '@floating-ui/core': 1.8.0
1051
+ '@floating-ui/utils': 0.2.12
1052
+
1053
+ '@floating-ui/react-dom@2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
1054
+ dependencies:
1055
+ '@floating-ui/dom': 1.8.0
1056
+ react: 19.2.8
1057
+ react-dom: 19.2.8(react@19.2.8)
1058
+
1059
+ '@floating-ui/react@0.27.20(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
1060
+ dependencies:
1061
+ '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
1062
+ '@floating-ui/utils': 0.2.12
1063
+ react: 19.2.8
1064
+ react-dom: 19.2.8(react@19.2.8)
1065
+ tabbable: 6.5.0
1066
+
1067
+ '@floating-ui/utils@0.2.12': {}
1068
+
841
1069
  '@jridgewell/gen-mapping@0.3.13':
842
1070
  dependencies:
843
1071
  '@jridgewell/sourcemap-codec': 1.6.0
@@ -866,13 +1094,13 @@ snapshots:
866
1094
 
867
1095
  '@oxc-project/types@0.149.0': {}
868
1096
 
869
- '@react-three/drei@10.7.8(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0))(@types/react@19.3.0)(@types/three@0.186.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0)':
1097
+ '@react-three/drei@10.7.8(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0))(@types/react@19.3.0)(@types/three@0.186.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)':
870
1098
  dependencies:
871
1099
  '@babel/runtime': 7.29.7
872
1100
  '@mediapipe/tasks-vision': 0.10.17
873
1101
  '@monogrid/gainmap-js': 3.4.0(three@0.186.0)
874
- '@react-three/fiber': 9.7.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0)
875
- '@use-gesture/react': 10.3.1(react@19.3.0)
1102
+ '@react-three/fiber': 9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)
1103
+ '@use-gesture/react': 10.3.1(react@19.2.8)
876
1104
  camera-controls: 3.1.2(three@0.186.0)
877
1105
  cross-env: 7.0.3
878
1106
  detect-gpu: 5.0.70
@@ -880,45 +1108,54 @@ snapshots:
880
1108
  hls.js: 1.7.3
881
1109
  maath: 0.10.8(@types/three@0.186.0)(three@0.186.0)
882
1110
  meshline: 3.3.1(three@0.186.0)
883
- react: 19.3.0
1111
+ react: 19.2.8
884
1112
  stats-gl: 2.4.2(@types/three@0.186.0)(three@0.186.0)
885
1113
  stats.js: 0.17.0
886
- suspend-react: 0.1.3(react@19.3.0)
1114
+ suspend-react: 0.1.3(react@19.2.8)
887
1115
  three: 0.186.0
888
1116
  three-mesh-bvh: 0.8.3(three@0.186.0)
889
1117
  three-stdlib: 2.36.1(three@0.186.0)
890
1118
  troika-three-text: 0.52.5(three@0.186.0)
891
- tunnel-rat: 0.1.2(@types/react@19.3.0)(react@19.3.0)
892
- use-sync-external-store: 1.7.0(react@19.3.0)
1119
+ tunnel-rat: 0.1.2(@types/react@19.3.0)(react@19.2.8)
1120
+ use-sync-external-store: 1.7.0(react@19.2.8)
893
1121
  utility-types: 3.11.0
894
- zustand: 5.0.15(@types/react@19.3.0)(react@19.3.0)(use-sync-external-store@1.7.0(react@19.3.0))
1122
+ zustand: 5.0.15(@types/react@19.3.0)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8))
895
1123
  optionalDependencies:
896
- react-dom: 19.3.0(react@19.3.0)
1124
+ react-dom: 19.2.8(react@19.2.8)
897
1125
  transitivePeerDependencies:
898
1126
  - '@types/react'
899
1127
  - '@types/three'
900
1128
  - immer
901
1129
 
902
- '@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(three@0.186.0)':
1130
+ '@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)':
903
1131
  dependencies:
904
1132
  '@babel/runtime': 7.29.7
905
1133
  '@types/webxr': 0.5.24
906
1134
  base64-js: 1.5.1
907
1135
  buffer: 6.0.3
908
- its-fine: 2.0.0(@types/react@19.3.0)(react@19.3.0)
909
- react: 19.3.0
910
- react-use-measure: 2.1.7(react-dom@19.3.0(react@19.3.0))(react@19.3.0)
1136
+ its-fine: 2.0.0(@types/react@19.3.0)(react@19.2.8)
1137
+ react: 19.2.8
1138
+ react-use-measure: 2.1.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
911
1139
  scheduler: 0.27.0
912
- suspend-react: 0.1.3(react@19.3.0)
1140
+ suspend-react: 0.1.3(react@19.2.8)
913
1141
  three: 0.186.0
914
- use-sync-external-store: 1.7.0(react@19.3.0)
915
- zustand: 5.0.15(@types/react@19.3.0)(react@19.3.0)(use-sync-external-store@1.7.0(react@19.3.0))
1142
+ use-sync-external-store: 1.7.0(react@19.2.8)
1143
+ zustand: 5.0.15(@types/react@19.3.0)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8))
916
1144
  optionalDependencies:
917
- react-dom: 19.3.0(react@19.3.0)
1145
+ react-dom: 19.2.8(react@19.2.8)
918
1146
  transitivePeerDependencies:
919
1147
  - '@types/react'
920
1148
  - immer
921
1149
 
1150
+ '@react-three/rapier@2.2.0(@react-three/fiber@9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0))(react@19.2.8)(three@0.186.0)':
1151
+ dependencies:
1152
+ '@dimforge/rapier3d-compat': 0.19.2
1153
+ '@react-three/fiber': 9.7.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.186.0)
1154
+ react: 19.2.8
1155
+ suspend-react: 0.1.3(react@19.2.8)
1156
+ three: 0.186.0
1157
+ three-stdlib: 2.36.1(three@0.186.0)
1158
+
922
1159
  '@rolldown/binding-android-arm-eabi@1.2.8':
923
1160
  optional: true
924
1161
 
@@ -1063,10 +1300,10 @@ snapshots:
1063
1300
 
1064
1301
  '@use-gesture/core@10.3.1': {}
1065
1302
 
1066
- '@use-gesture/react@10.3.1(react@19.3.0)':
1303
+ '@use-gesture/react@10.3.1(react@19.2.8)':
1067
1304
  dependencies:
1068
1305
  '@use-gesture/core': 10.3.1
1069
- react: 19.3.0
1306
+ react: 19.2.8
1070
1307
 
1071
1308
  '@vitejs/plugin-react@6.1.1(vite@8.3.0(jiti@2.7.0))':
1072
1309
  dependencies:
@@ -1138,10 +1375,10 @@ snapshots:
1138
1375
 
1139
1376
  isexe@2.0.0: {}
1140
1377
 
1141
- its-fine@2.0.0(@types/react@19.3.0)(react@19.3.0):
1378
+ its-fine@2.0.0(@types/react@19.3.0)(react@19.2.8):
1142
1379
  dependencies:
1143
1380
  '@types/react-reconciler': 0.28.9(@types/react@19.3.0)
1144
- react: 19.3.0
1381
+ react: 19.2.8
1145
1382
  transitivePeerDependencies:
1146
1383
  - '@types/react'
1147
1384
 
@@ -1258,6 +1495,8 @@ snapshots:
1258
1495
  dependencies:
1259
1496
  '@jridgewell/sourcemap-codec': 1.6.0
1260
1497
 
1498
+ math@0.1.0: {}
1499
+
1261
1500
  meshline@3.3.1(three@0.186.0):
1262
1501
  dependencies:
1263
1502
  three: 0.186.0
@@ -1285,18 +1524,18 @@ snapshots:
1285
1524
  is-promise: 2.2.2
1286
1525
  lie: 3.3.0
1287
1526
 
1288
- react-dom@19.3.0(react@19.3.0):
1527
+ react-dom@19.2.8(react@19.2.8):
1289
1528
  dependencies:
1290
- react: 19.3.0
1291
- scheduler: 0.28.0
1529
+ react: 19.2.8
1530
+ scheduler: 0.27.0
1292
1531
 
1293
- react-use-measure@2.1.7(react-dom@19.3.0(react@19.3.0))(react@19.3.0):
1532
+ react-use-measure@2.1.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
1294
1533
  dependencies:
1295
- react: 19.3.0
1534
+ react: 19.2.8
1296
1535
  optionalDependencies:
1297
- react-dom: 19.3.0(react@19.3.0)
1536
+ react-dom: 19.2.8(react@19.2.8)
1298
1537
 
1299
- react@19.3.0: {}
1538
+ react@19.2.8: {}
1300
1539
 
1301
1540
  require-from-string@2.0.2: {}
1302
1541
 
@@ -1323,8 +1562,6 @@ snapshots:
1323
1562
 
1324
1563
  scheduler@0.27.0: {}
1325
1564
 
1326
- scheduler@0.28.0: {}
1327
-
1328
1565
  shebang-command@2.0.0:
1329
1566
  dependencies:
1330
1567
  shebang-regex: 3.0.0
@@ -1340,9 +1577,11 @@ snapshots:
1340
1577
 
1341
1578
  stats.js@0.17.0: {}
1342
1579
 
1343
- suspend-react@0.1.3(react@19.3.0):
1580
+ suspend-react@0.1.3(react@19.2.8):
1344
1581
  dependencies:
1345
- react: 19.3.0
1582
+ react: 19.2.8
1583
+
1584
+ tabbable@6.5.0: {}
1346
1585
 
1347
1586
  tailwindcss@4.3.3: {}
1348
1587
 
@@ -1383,17 +1622,17 @@ snapshots:
1383
1622
 
1384
1623
  troika-worker-utils@0.52.0: {}
1385
1624
 
1386
- tunnel-rat@0.1.2(@types/react@19.3.0)(react@19.3.0):
1625
+ tunnel-rat@0.1.2(@types/react@19.3.0)(react@19.2.8):
1387
1626
  dependencies:
1388
- zustand: 4.5.7(@types/react@19.3.0)(react@19.3.0)
1627
+ zustand: 4.5.7(@types/react@19.3.0)(react@19.2.8)
1389
1628
  transitivePeerDependencies:
1390
1629
  - '@types/react'
1391
1630
  - immer
1392
1631
  - react
1393
1632
 
1394
- use-sync-external-store@1.7.0(react@19.3.0):
1633
+ use-sync-external-store@1.7.0(react@19.2.8):
1395
1634
  dependencies:
1396
- react: 19.3.0
1635
+ react: 19.2.8
1397
1636
 
1398
1637
  utility-types@3.11.0: {}
1399
1638
 
@@ -1416,15 +1655,15 @@ snapshots:
1416
1655
  dependencies:
1417
1656
  isexe: 2.0.0
1418
1657
 
1419
- zustand@4.5.7(@types/react@19.3.0)(react@19.3.0):
1658
+ zustand@4.5.7(@types/react@19.3.0)(react@19.2.8):
1420
1659
  dependencies:
1421
- use-sync-external-store: 1.7.0(react@19.3.0)
1660
+ use-sync-external-store: 1.7.0(react@19.2.8)
1422
1661
  optionalDependencies:
1423
1662
  '@types/react': 19.3.0
1424
- react: 19.3.0
1663
+ react: 19.2.8
1425
1664
 
1426
- zustand@5.0.15(@types/react@19.3.0)(react@19.3.0)(use-sync-external-store@1.7.0(react@19.3.0)):
1665
+ zustand@5.0.15(@types/react@19.3.0)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)):
1427
1666
  optionalDependencies:
1428
1667
  '@types/react': 19.3.0
1429
- react: 19.3.0
1430
- use-sync-external-store: 1.7.0(react@19.3.0)
1668
+ react: 19.2.8
1669
+ use-sync-external-store: 1.7.0(react@19.2.8)