@xperimntl/vue-threejs 1.1.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/CHANGELOG.md +1210 -0
- package/README.md +125 -0
- package/TESTING.md +34 -0
- package/dist/xperimntl-vue-threejs.cjs.d.ts +2 -0
- package/dist/xperimntl-vue-threejs.cjs.js +16 -0
- package/package.json +45 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,1210 @@
|
|
|
1
|
+
# @react-three/fiber
|
|
2
|
+
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c7e33c6: Initial publish under @xperimntl scope
|
|
8
|
+
|
|
9
|
+
## 1.1.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 0433707: Bump TypeScript to 5.9 and align @types/three with three@0.183.
|
|
14
|
+
|
|
15
|
+
## 1.1.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- 46ce1f9: Publish all sub-packages to npm and export templateCompilerOptions for Vite custom element configuration.
|
|
20
|
+
|
|
21
|
+
## 9.5.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- 1050a62bd4bc15e60ab3a65deea08dedfcf24989: Support React 19.2
|
|
26
|
+
|
|
27
|
+
## 9.4.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 3d445fd158b25eb380cd27bd2e01304016aa23e3: fix: Expo SDK 54 compatibility through workaround
|
|
32
|
+
|
|
33
|
+
## 9.4.1
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- 4f8cec0d79003a9ef6d1ca1e56de94aec4158714: fix: pass DevTools config through createReconciler to fix React DevTools
|
|
38
|
+
|
|
39
|
+
## 9.4.0
|
|
40
|
+
|
|
41
|
+
### Minor Changes
|
|
42
|
+
|
|
43
|
+
- f0976dc14a2d3203af267d0e3524d45a07f3248a: feat: improve applyProps errors, harden pierced props setting
|
|
44
|
+
|
|
45
|
+
## 9.3.0
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- 7579c2d79ed60e5c93a259637b65c01971f39d82: feat: add flushSync example
|
|
50
|
+
- 26e5d6e8b8b00b817ebb5242432000abe38bfc2c: fix: update flushSync for new reconciler
|
|
51
|
+
- 0281b6bc4fcf041ed801e64f1876f70c214aa117: fix(native): update react-native deep imports for 0.79 compatibility
|
|
52
|
+
|
|
53
|
+
## 9.2.0
|
|
54
|
+
|
|
55
|
+
### Minor Changes
|
|
56
|
+
|
|
57
|
+
- 94ece53e17a586465b10ec627cf4799cefa72b3a: Export flushSync
|
|
58
|
+
|
|
59
|
+
## 9.1.4
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- d491e46087508dff50c48768a99f87bd486b6910: Accept readonly arrays for vector props
|
|
64
|
+
|
|
65
|
+
## 9.1.3
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- efd28328f5e612b0592be7da316fad990fdf4675: fix(native) fix crash on rerendering GLView with new arch
|
|
70
|
+
|
|
71
|
+
## 9.1.2
|
|
72
|
+
|
|
73
|
+
### Patch Changes
|
|
74
|
+
|
|
75
|
+
- 053757f45d2411f2929975add76a4c979713e616: fix: reference dev-only act with computed key for Webpack
|
|
76
|
+
|
|
77
|
+
## 9.1.1
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- 0deae3fb12b6d62ff083891e388ab09de51330d0: Fix failing builds for production when React.act is unavailable. This fixes issues found in React@19.1.0 and up.
|
|
82
|
+
|
|
83
|
+
## 9.1.0
|
|
84
|
+
|
|
85
|
+
### Minor Changes
|
|
86
|
+
|
|
87
|
+
- cbc79507600b81f6a39de9f3f0ecb3aaf811233f: feat: add meshes to loader graph, misc internal fixes
|
|
88
|
+
|
|
89
|
+
## 9.0.4
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- 28ebfbf3e7f9e69dc62f5481965b7fd6a3e3a038: fix(types): exclude type conflicts in React runtime types
|
|
94
|
+
|
|
95
|
+
## 9.0.3
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- 01f0f1c8855325aae1c337d5443c846cc46007b0: fix(types): remove recursive references in JSX types
|
|
100
|
+
|
|
101
|
+
## 9.0.2
|
|
102
|
+
|
|
103
|
+
### Patch Changes
|
|
104
|
+
|
|
105
|
+
- 14e133278c3cf1550a3b9aeaaadb624a2aae4781: fix(reconciler): prefer to resolve unprefixed instance types
|
|
106
|
+
|
|
107
|
+
## 9.0.1
|
|
108
|
+
|
|
109
|
+
### Patch Changes
|
|
110
|
+
|
|
111
|
+
- 5d711d103b8d3833b93c3ab74707b2b6db5d274a: fix: add use-sync-external-store dep
|
|
112
|
+
|
|
113
|
+
## 9.0.0
|
|
114
|
+
|
|
115
|
+
### Major Changes
|
|
116
|
+
|
|
117
|
+
- 226d2ec: feat: React 19 support
|
|
118
|
+
|
|
119
|
+
## 8.18.0
|
|
120
|
+
|
|
121
|
+
### Minor Changes
|
|
122
|
+
|
|
123
|
+
- 54a3330f: feat: make children optional in Canvas
|
|
124
|
+
|
|
125
|
+
## 8.17.14
|
|
126
|
+
|
|
127
|
+
### Patch Changes
|
|
128
|
+
|
|
129
|
+
- eeeed16b: fix: update use-measure
|
|
130
|
+
|
|
131
|
+
## 8.17.13
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- 0a0f2acd: fix: upstream use-measure
|
|
136
|
+
|
|
137
|
+
## 8.17.12
|
|
138
|
+
|
|
139
|
+
### Patch Changes
|
|
140
|
+
|
|
141
|
+
- ff1a16f1: fix: narrow React peer dep range
|
|
142
|
+
|
|
143
|
+
## 8.17.11
|
|
144
|
+
|
|
145
|
+
### Patch Changes
|
|
146
|
+
|
|
147
|
+
- 7461bf0c: fix: loosen instanceof checks for CSB issue
|
|
148
|
+
|
|
149
|
+
## 8.17.10
|
|
150
|
+
|
|
151
|
+
### Patch Changes
|
|
152
|
+
|
|
153
|
+
- d1a072ac: fix: ThreeEvent should not include initMouseEvent
|
|
154
|
+
|
|
155
|
+
## 8.17.9
|
|
156
|
+
|
|
157
|
+
### Patch Changes
|
|
158
|
+
|
|
159
|
+
- f34de655: fix: add orientation handling
|
|
160
|
+
|
|
161
|
+
## 8.17.8
|
|
162
|
+
|
|
163
|
+
### Patch Changes
|
|
164
|
+
|
|
165
|
+
- 3c885807: fix(types): fix React typings, fault tolerant Node type
|
|
166
|
+
|
|
167
|
+
## 8.17.7
|
|
168
|
+
|
|
169
|
+
### Patch Changes
|
|
170
|
+
|
|
171
|
+
- c20a7d73: fix(native): missing pointerId in pointer events
|
|
172
|
+
|
|
173
|
+
## 8.17.6
|
|
174
|
+
|
|
175
|
+
### Patch Changes
|
|
176
|
+
|
|
177
|
+
- 66c3e9fe: fix(native): don't bind events to GLView
|
|
178
|
+
|
|
179
|
+
## 8.17.5
|
|
180
|
+
|
|
181
|
+
### Patch Changes
|
|
182
|
+
|
|
183
|
+
- 162dbbdd: fix: npmignore ignored types"
|
|
184
|
+
|
|
185
|
+
## 8.17.4
|
|
186
|
+
|
|
187
|
+
### Patch Changes
|
|
188
|
+
|
|
189
|
+
- 43866f4e: fix: rebuild with types
|
|
190
|
+
|
|
191
|
+
## 8.17.3
|
|
192
|
+
|
|
193
|
+
### Patch Changes
|
|
194
|
+
|
|
195
|
+
- 8363eb7a: fix: rebuild with types
|
|
196
|
+
|
|
197
|
+
## 8.17.2
|
|
198
|
+
|
|
199
|
+
### Patch Changes
|
|
200
|
+
|
|
201
|
+
- 6aa4eb28: fix: rebuild with types
|
|
202
|
+
|
|
203
|
+
## 8.17.1
|
|
204
|
+
|
|
205
|
+
### Patch Changes
|
|
206
|
+
|
|
207
|
+
- e5f3f4f9: fix: rebuild with types
|
|
208
|
+
|
|
209
|
+
## 8.17.0
|
|
210
|
+
|
|
211
|
+
### Minor Changes
|
|
212
|
+
|
|
213
|
+
- 3c22194d: feat: flushSync, native EventTarget
|
|
214
|
+
|
|
215
|
+
## 8.16.8
|
|
216
|
+
|
|
217
|
+
### Patch Changes
|
|
218
|
+
|
|
219
|
+
- 4748b365: fix: update is.equ to compare booleans
|
|
220
|
+
|
|
221
|
+
## 8.16.7
|
|
222
|
+
|
|
223
|
+
### Patch Changes
|
|
224
|
+
|
|
225
|
+
- 4d6408c7: fix(types): revert usage of future module JSX
|
|
226
|
+
|
|
227
|
+
## 8.16.6
|
|
228
|
+
|
|
229
|
+
### Patch Changes
|
|
230
|
+
|
|
231
|
+
- 03ab82fe: fix(applyProps): null check indeterminate instances
|
|
232
|
+
|
|
233
|
+
## 8.16.5
|
|
234
|
+
|
|
235
|
+
### Patch Changes
|
|
236
|
+
|
|
237
|
+
- cb913e01: fix: use fast JSX, future JSX types
|
|
238
|
+
|
|
239
|
+
## 8.16.4
|
|
240
|
+
|
|
241
|
+
### Patch Changes
|
|
242
|
+
|
|
243
|
+
- 1270d24c: fix: missing dependency on inject function
|
|
244
|
+
|
|
245
|
+
## 8.16.3
|
|
246
|
+
|
|
247
|
+
### Patch Changes
|
|
248
|
+
|
|
249
|
+
- 9c83502c: fix(Canvas): don't override camera frustum props
|
|
250
|
+
|
|
251
|
+
## 8.16.2
|
|
252
|
+
|
|
253
|
+
### Patch Changes
|
|
254
|
+
|
|
255
|
+
- e0900489: fix(useLoader): don't dispose of memoized loader
|
|
256
|
+
|
|
257
|
+
## 8.16.1
|
|
258
|
+
|
|
259
|
+
### Patch Changes
|
|
260
|
+
|
|
261
|
+
- 503efc2e: fix: prevent invalidate from piling up frames
|
|
262
|
+
|
|
263
|
+
## 8.16.0
|
|
264
|
+
|
|
265
|
+
### Minor Changes
|
|
266
|
+
|
|
267
|
+
- 6b0ea6eb: feat: add childadded event dispatch
|
|
268
|
+
|
|
269
|
+
## 8.15.19
|
|
270
|
+
|
|
271
|
+
### Patch Changes
|
|
272
|
+
|
|
273
|
+
- 74926b94: fix(types): avoid emitting THREE.XRFrame
|
|
274
|
+
|
|
275
|
+
## 8.15.18
|
|
276
|
+
|
|
277
|
+
### Patch Changes
|
|
278
|
+
|
|
279
|
+
- 8c01939a: fix: correctly pass frames in invalidate
|
|
280
|
+
|
|
281
|
+
## 8.15.17
|
|
282
|
+
|
|
283
|
+
### Patch Changes
|
|
284
|
+
|
|
285
|
+
- 16c2ee97: fix(types): support @types/three@0.162.0
|
|
286
|
+
|
|
287
|
+
## 8.15.16
|
|
288
|
+
|
|
289
|
+
### Patch Changes
|
|
290
|
+
|
|
291
|
+
- 71cd8f96: fix: tonemapping config overwrites userland
|
|
292
|
+
- 0bb12fd1: fix(types): remove usage of THREE.Vector
|
|
293
|
+
|
|
294
|
+
## 8.15.14
|
|
295
|
+
|
|
296
|
+
### Patch Changes
|
|
297
|
+
|
|
298
|
+
- 0afc9c12: fix: portal events, update examples
|
|
299
|
+
|
|
300
|
+
## 8.15.13
|
|
301
|
+
|
|
302
|
+
### Patch Changes
|
|
303
|
+
|
|
304
|
+
- 0a399f6d: fix(native): use MSAA for antialias on iOS
|
|
305
|
+
|
|
306
|
+
## 8.15.12
|
|
307
|
+
|
|
308
|
+
### Patch Changes
|
|
309
|
+
|
|
310
|
+
- 496d6f0d: fix: useLoader and XRFrame type fixes
|
|
311
|
+
|
|
312
|
+
## 8.15.11
|
|
313
|
+
|
|
314
|
+
### Patch Changes
|
|
315
|
+
|
|
316
|
+
- 3d9af04d: fix: update import from three examples
|
|
317
|
+
|
|
318
|
+
## 8.15.10
|
|
319
|
+
|
|
320
|
+
### Patch Changes
|
|
321
|
+
|
|
322
|
+
- 49158164: fix: don't recursively dispose primitives
|
|
323
|
+
|
|
324
|
+
## 8.15.9
|
|
325
|
+
|
|
326
|
+
### Patch Changes
|
|
327
|
+
|
|
328
|
+
- 4cbc5530: fix(native): deopt iOS blob URI path
|
|
329
|
+
|
|
330
|
+
## 8.15.8
|
|
331
|
+
|
|
332
|
+
### Patch Changes
|
|
333
|
+
|
|
334
|
+
- 70680832: fix: revert stable sort
|
|
335
|
+
|
|
336
|
+
## 8.15.7
|
|
337
|
+
|
|
338
|
+
### Patch Changes
|
|
339
|
+
|
|
340
|
+
- 07e39e2e: fix(types): remove use of Object3D generic
|
|
341
|
+
|
|
342
|
+
## 8.15.6
|
|
343
|
+
|
|
344
|
+
### Patch Changes
|
|
345
|
+
|
|
346
|
+
- 7bb2950b: experiment: stable object sort
|
|
347
|
+
|
|
348
|
+
## 8.15.5
|
|
349
|
+
|
|
350
|
+
### Patch Changes
|
|
351
|
+
|
|
352
|
+
- 0e44fd8b: fix(types): preserve deprecated JSX annotations
|
|
353
|
+
|
|
354
|
+
## 8.15.4
|
|
355
|
+
|
|
356
|
+
### Patch Changes
|
|
357
|
+
|
|
358
|
+
- 634e5db5: fix(native): harden Blob URI check for Android
|
|
359
|
+
|
|
360
|
+
## 8.15.3
|
|
361
|
+
|
|
362
|
+
### Patch Changes
|
|
363
|
+
|
|
364
|
+
- beab4344: fix(native): workaround Android content policy for Blob URI
|
|
365
|
+
|
|
366
|
+
## 8.15.2
|
|
367
|
+
|
|
368
|
+
### Patch Changes
|
|
369
|
+
|
|
370
|
+
- 086d3932: fix: size check and raycaster camera
|
|
371
|
+
|
|
372
|
+
## 8.15.1
|
|
373
|
+
|
|
374
|
+
### Patch Changes
|
|
375
|
+
|
|
376
|
+
- 2d39676d: fix: ignore deprecated types, use correct XRFrame definition
|
|
377
|
+
|
|
378
|
+
## 8.15.0
|
|
379
|
+
|
|
380
|
+
### Minor Changes
|
|
381
|
+
|
|
382
|
+
- cca8b6bb: feat: export buildGraph
|
|
383
|
+
|
|
384
|
+
## 8.14.7
|
|
385
|
+
|
|
386
|
+
### Patch Changes
|
|
387
|
+
|
|
388
|
+
- 0f63a287: fix(native): restore polyfill conversions, drop networking
|
|
389
|
+
|
|
390
|
+
## 8.14.6
|
|
391
|
+
|
|
392
|
+
### Patch Changes
|
|
393
|
+
|
|
394
|
+
- 465fa0fb: fix(native): revert usage of networking stack
|
|
395
|
+
|
|
396
|
+
## 8.14.5
|
|
397
|
+
|
|
398
|
+
### Patch Changes
|
|
399
|
+
|
|
400
|
+
- f372a5b5: fix(applyProps): loosen copy identity in dev
|
|
401
|
+
|
|
402
|
+
## 8.14.4
|
|
403
|
+
|
|
404
|
+
### Patch Changes
|
|
405
|
+
|
|
406
|
+
- dc7e5739: fix(native): amend BlobManager over globals
|
|
407
|
+
|
|
408
|
+
## 8.14.3
|
|
409
|
+
|
|
410
|
+
### Patch Changes
|
|
411
|
+
|
|
412
|
+
- d77b0990: fix(native): drop fsstat for react-native-web
|
|
413
|
+
|
|
414
|
+
## 8.14.2
|
|
415
|
+
|
|
416
|
+
### Patch Changes
|
|
417
|
+
|
|
418
|
+
- 33e8baef: fix: native perf, loader types
|
|
419
|
+
|
|
420
|
+
## 8.14.1
|
|
421
|
+
|
|
422
|
+
### Patch Changes
|
|
423
|
+
|
|
424
|
+
- c99907bf: fix(native): prefer local uri for fs
|
|
425
|
+
|
|
426
|
+
## 8.14.0
|
|
427
|
+
|
|
428
|
+
### Minor Changes
|
|
429
|
+
|
|
430
|
+
- 89e96bf4: feat: react-native-web, native globals fixes
|
|
431
|
+
|
|
432
|
+
## 8.13.9
|
|
433
|
+
|
|
434
|
+
### Patch Changes
|
|
435
|
+
|
|
436
|
+
- 44d57b3c: fix(native): TextureLoader should remain consistent with FileLoader
|
|
437
|
+
|
|
438
|
+
## 8.13.8
|
|
439
|
+
|
|
440
|
+
### Patch Changes
|
|
441
|
+
|
|
442
|
+
- 5da26d52: fix(useLoader): dispose loaders
|
|
443
|
+
|
|
444
|
+
## 8.13.7
|
|
445
|
+
|
|
446
|
+
### Patch Changes
|
|
447
|
+
|
|
448
|
+
- 37b9502a: fix(Canvas): pass scene prop
|
|
449
|
+
|
|
450
|
+
## 8.13.6
|
|
451
|
+
|
|
452
|
+
### Patch Changes
|
|
453
|
+
|
|
454
|
+
- 0597495c: fix: harden XR init against Renderer shim
|
|
455
|
+
|
|
456
|
+
## 8.13.5
|
|
457
|
+
|
|
458
|
+
### Patch Changes
|
|
459
|
+
|
|
460
|
+
- 7a3b543b: fix: three type regressions
|
|
461
|
+
|
|
462
|
+
## 8.13.4
|
|
463
|
+
|
|
464
|
+
### Patch Changes
|
|
465
|
+
|
|
466
|
+
- 824ee0f7: fix: safely diff instances
|
|
467
|
+
|
|
468
|
+
## 8.13.3
|
|
469
|
+
|
|
470
|
+
### Patch Changes
|
|
471
|
+
|
|
472
|
+
- ffdb5fc4: revert nested portals, up suspend-react
|
|
473
|
+
|
|
474
|
+
## 8.13.2
|
|
475
|
+
|
|
476
|
+
### Patch Changes
|
|
477
|
+
|
|
478
|
+
- bbabdf07: update suspend-react
|
|
479
|
+
|
|
480
|
+
## 8.13.1
|
|
481
|
+
|
|
482
|
+
### Patch Changes
|
|
483
|
+
|
|
484
|
+
- c9fe03ba: fix: primitive swap and reactive portals
|
|
485
|
+
|
|
486
|
+
## 8.13.0
|
|
487
|
+
|
|
488
|
+
### Minor Changes
|
|
489
|
+
|
|
490
|
+
- ecfc48b7: feat: CanvasProps alias, respect r152 color management
|
|
491
|
+
|
|
492
|
+
## 8.12.2
|
|
493
|
+
|
|
494
|
+
### Patch Changes
|
|
495
|
+
|
|
496
|
+
- c5193468: fix: safeguard window.devicePixelRatio
|
|
497
|
+
|
|
498
|
+
## 8.12.1
|
|
499
|
+
|
|
500
|
+
### Patch Changes
|
|
501
|
+
|
|
502
|
+
- 571f07ac: fix: safeguard window.devicePixelRatio
|
|
503
|
+
|
|
504
|
+
## 8.12.0
|
|
505
|
+
|
|
506
|
+
### Minor Changes
|
|
507
|
+
|
|
508
|
+
- 1928d095: feat: `scene` render prop for custom THREE.Scene
|
|
509
|
+
|
|
510
|
+
## 8.11.11
|
|
511
|
+
|
|
512
|
+
### Patch Changes
|
|
513
|
+
|
|
514
|
+
- f03c6ef8: feat: `scene` render prop for custom THREE.Scene
|
|
515
|
+
|
|
516
|
+
## 8.11.10
|
|
517
|
+
|
|
518
|
+
### Patch Changes
|
|
519
|
+
|
|
520
|
+
- 12907836: fix onpointerlostcapture which fired before pointerup
|
|
521
|
+
|
|
522
|
+
## 8.11.9
|
|
523
|
+
|
|
524
|
+
### Patch Changes
|
|
525
|
+
|
|
526
|
+
- 6b5f572c: fix: treeshake THREE.ColorManagement
|
|
527
|
+
|
|
528
|
+
## 8.11.8
|
|
529
|
+
|
|
530
|
+
### Patch Changes
|
|
531
|
+
|
|
532
|
+
- 350cd3f3: fix(Canvas): inline render-effect
|
|
533
|
+
|
|
534
|
+
## 8.11.7
|
|
535
|
+
|
|
536
|
+
### Patch Changes
|
|
537
|
+
|
|
538
|
+
- 96af62d5: fix: don't overwrite public cameras
|
|
539
|
+
|
|
540
|
+
## 8.11.6
|
|
541
|
+
|
|
542
|
+
### Patch Changes
|
|
543
|
+
|
|
544
|
+
- 7d319c18: Fix is.equ obj:shallow, allow it to test arrays 1 level deep, fix canvas.camera prop being stale
|
|
545
|
+
|
|
546
|
+
## 8.11.5
|
|
547
|
+
|
|
548
|
+
### Patch Changes
|
|
549
|
+
|
|
550
|
+
- c658f763: fix: update canvas prop types
|
|
551
|
+
|
|
552
|
+
## 8.11.4
|
|
553
|
+
|
|
554
|
+
### Patch Changes
|
|
555
|
+
|
|
556
|
+
- 970aa58b: fix: play nice with offscreencanvas
|
|
557
|
+
|
|
558
|
+
## 8.11.3
|
|
559
|
+
|
|
560
|
+
### Patch Changes
|
|
561
|
+
|
|
562
|
+
- 2bce569c: fix: progressively set colormanagement
|
|
563
|
+
|
|
564
|
+
## 8.11.2
|
|
565
|
+
|
|
566
|
+
### Patch Changes
|
|
567
|
+
|
|
568
|
+
- 41d655cd: fix: hmr, srgb encode
|
|
569
|
+
|
|
570
|
+
## 8.11.1
|
|
571
|
+
|
|
572
|
+
### Patch Changes
|
|
573
|
+
|
|
574
|
+
- 58cadeff: fix: skip circular onUpdate calls
|
|
575
|
+
|
|
576
|
+
## 8.11.0
|
|
577
|
+
|
|
578
|
+
### Minor Changes
|
|
579
|
+
|
|
580
|
+
- 2917a47b: events.update, allow raycast w/o user interaction
|
|
581
|
+
- 521bfb07: events.update, allow raycast w/o user interaction
|
|
582
|
+
|
|
583
|
+
## 8.10.4
|
|
584
|
+
|
|
585
|
+
### Patch Changes
|
|
586
|
+
|
|
587
|
+
- d9e6316d: fix: transpile class properties
|
|
588
|
+
|
|
589
|
+
## 8.10.3
|
|
590
|
+
|
|
591
|
+
### Patch Changes
|
|
592
|
+
|
|
593
|
+
- d06d2879: fix: align useLoader type, public fields from builds
|
|
594
|
+
|
|
595
|
+
## 8.10.2
|
|
596
|
+
|
|
597
|
+
### Patch Changes
|
|
598
|
+
|
|
599
|
+
- 564edbbb: fix port inject layers, it should allow root props to overwrite undefined portal props"
|
|
600
|
+
|
|
601
|
+
## 8.10.1
|
|
602
|
+
|
|
603
|
+
### Patch Changes
|
|
604
|
+
|
|
605
|
+
- bfa0298f: fix memoized identity
|
|
606
|
+
|
|
607
|
+
## 8.10.0
|
|
608
|
+
|
|
609
|
+
### Minor Changes
|
|
610
|
+
|
|
611
|
+
- 24c4dba4: shortcut for shadow type
|
|
612
|
+
|
|
613
|
+
## 8.9.2
|
|
614
|
+
|
|
615
|
+
### Patch Changes
|
|
616
|
+
|
|
617
|
+
- 2aeb6500: fix: primitives are incorrectly swapped on key change in maps
|
|
618
|
+
|
|
619
|
+
## 8.9.1
|
|
620
|
+
|
|
621
|
+
### Patch Changes
|
|
622
|
+
|
|
623
|
+
- 0cf11797: fix(events): type spread event props
|
|
624
|
+
|
|
625
|
+
## 8.9.0
|
|
626
|
+
|
|
627
|
+
### Minor Changes
|
|
628
|
+
|
|
629
|
+
- a458b4dd: fix(loop): export flush methods and types
|
|
630
|
+
|
|
631
|
+
## 8.8.11
|
|
632
|
+
|
|
633
|
+
### Patch Changes
|
|
634
|
+
|
|
635
|
+
- 2068f0cc: fix: events pointerlock, useLoader extension types
|
|
636
|
+
|
|
637
|
+
## 8.8.10
|
|
638
|
+
|
|
639
|
+
### Patch Changes
|
|
640
|
+
|
|
641
|
+
- 00c24718: fix: invalidate pierced props
|
|
642
|
+
|
|
643
|
+
## 8.8.9
|
|
644
|
+
|
|
645
|
+
### Patch Changes
|
|
646
|
+
|
|
647
|
+
- 4254400e: fix(createPortal): use correct JSX type
|
|
648
|
+
|
|
649
|
+
## 8.8.8
|
|
650
|
+
|
|
651
|
+
### Patch Changes
|
|
652
|
+
|
|
653
|
+
- fcb183e3: fix: call onUpdate for attached children prop update
|
|
654
|
+
|
|
655
|
+
## 8.8.7
|
|
656
|
+
|
|
657
|
+
### Patch Changes
|
|
658
|
+
|
|
659
|
+
- bedb16e7: fix: prefer named functions, for loops in hot paths
|
|
660
|
+
|
|
661
|
+
## 8.8.6
|
|
662
|
+
|
|
663
|
+
### Patch Changes
|
|
664
|
+
|
|
665
|
+
- 02a558bb: fix: upgrade deps
|
|
666
|
+
|
|
667
|
+
## 8.8.5
|
|
668
|
+
|
|
669
|
+
### Patch Changes
|
|
670
|
+
|
|
671
|
+
- 530a06d6: fix: upgrade deps to work-around CRA
|
|
672
|
+
|
|
673
|
+
## 8.8.4
|
|
674
|
+
|
|
675
|
+
### Patch Changes
|
|
676
|
+
|
|
677
|
+
- 2f2dc9f9: chore: upgrade bridge to harden suspense behavior
|
|
678
|
+
|
|
679
|
+
## 8.8.3
|
|
680
|
+
|
|
681
|
+
### Patch Changes
|
|
682
|
+
|
|
683
|
+
- 9f571239: fix #2506, events should fall back to rootstate"
|
|
684
|
+
|
|
685
|
+
## 8.8.2
|
|
686
|
+
|
|
687
|
+
### Patch Changes
|
|
688
|
+
|
|
689
|
+
- dc389ed6: fix(Canvas): prevent remount on context update
|
|
690
|
+
|
|
691
|
+
## 8.8.1
|
|
692
|
+
|
|
693
|
+
### Patch Changes
|
|
694
|
+
|
|
695
|
+
- 370d3ae5: refactor: pull context bridge from its-fine
|
|
696
|
+
|
|
697
|
+
## 8.8.0
|
|
698
|
+
|
|
699
|
+
### Minor Changes
|
|
700
|
+
|
|
701
|
+
- 46d8b440: bridge cross-container context
|
|
702
|
+
|
|
703
|
+
## 8.7.4
|
|
704
|
+
|
|
705
|
+
### Patch Changes
|
|
706
|
+
|
|
707
|
+
- 259c8895: fix: use self to get global context before window
|
|
708
|
+
|
|
709
|
+
## 8.7.3
|
|
710
|
+
|
|
711
|
+
### Patch Changes
|
|
712
|
+
|
|
713
|
+
- eb5a3be4: fix: if there is an eventsource pointerevent will be set to none
|
|
714
|
+
|
|
715
|
+
## 8.7.2
|
|
716
|
+
|
|
717
|
+
### Patch Changes
|
|
718
|
+
|
|
719
|
+
- 7f801e60: fix: events in portals carry the wrong raycaster, camera, etc
|
|
720
|
+
|
|
721
|
+
## 8.7.1
|
|
722
|
+
|
|
723
|
+
### Patch Changes
|
|
724
|
+
|
|
725
|
+
- 962cc270: fix: allow canvas eventsource to be a ref
|
|
726
|
+
|
|
727
|
+
## 8.7.0
|
|
728
|
+
|
|
729
|
+
### Minor Changes
|
|
730
|
+
|
|
731
|
+
- f5db1b78: feat: useInstanceHandle, flushGlobalEffects
|
|
732
|
+
|
|
733
|
+
## 8.6.2
|
|
734
|
+
|
|
735
|
+
### Patch Changes
|
|
736
|
+
|
|
737
|
+
- 57c12e9c: fix(types): @react-three/drei declaration files
|
|
738
|
+
|
|
739
|
+
## 8.6.1
|
|
740
|
+
|
|
741
|
+
### Patch Changes
|
|
742
|
+
|
|
743
|
+
- 7a0b5670: fix(core): don't append to unmounted containers
|
|
744
|
+
|
|
745
|
+
## 8.6.0
|
|
746
|
+
|
|
747
|
+
### Minor Changes
|
|
748
|
+
|
|
749
|
+
- 85c80e70: eventsource and eventprefix on the canvas component
|
|
750
|
+
|
|
751
|
+
## 8.5.1
|
|
752
|
+
|
|
753
|
+
### Patch Changes
|
|
754
|
+
|
|
755
|
+
- 87821d9: fix: null-check instance.children on reconstruct
|
|
756
|
+
|
|
757
|
+
## 8.5.0
|
|
758
|
+
|
|
759
|
+
### Minor Changes
|
|
760
|
+
|
|
761
|
+
- edc8252: feat: handle primitive children, auto-attach via instanceof
|
|
762
|
+
|
|
763
|
+
## 8.3.1
|
|
764
|
+
|
|
765
|
+
### Patch Changes
|
|
766
|
+
|
|
767
|
+
- aaeb2b8: fix(types): accept readonly arrays for vector props
|
|
768
|
+
|
|
769
|
+
## 8.3.0
|
|
770
|
+
|
|
771
|
+
### Minor Changes
|
|
772
|
+
|
|
773
|
+
- 9c450ec: feat: improve errors
|
|
774
|
+
|
|
775
|
+
## 8.2.3
|
|
776
|
+
|
|
777
|
+
### Patch Changes
|
|
778
|
+
|
|
779
|
+
- b8d2eab: fix: improve useLoader signature, initial size on createRoot
|
|
780
|
+
|
|
781
|
+
## 8.2.2
|
|
782
|
+
|
|
783
|
+
### Patch Changes
|
|
784
|
+
|
|
785
|
+
- acd6f04: fix: warn on stray text
|
|
786
|
+
|
|
787
|
+
## 8.2.1
|
|
788
|
+
|
|
789
|
+
### Patch Changes
|
|
790
|
+
|
|
791
|
+
- 25e35a1: fix: prefer useLayoutEffect in react-native
|
|
792
|
+
|
|
793
|
+
## 8.2.0
|
|
794
|
+
|
|
795
|
+
### Minor Changes
|
|
796
|
+
|
|
797
|
+
- 9770d7d: feat: expose ThreeElements interface for JSX elements
|
|
798
|
+
|
|
799
|
+
## 8.1.0
|
|
800
|
+
|
|
801
|
+
### Minor Changes
|
|
802
|
+
|
|
803
|
+
- 8d0f708c: Expose position information in state.size
|
|
804
|
+
|
|
805
|
+
## 8.0.27
|
|
806
|
+
|
|
807
|
+
### Patch Changes
|
|
808
|
+
|
|
809
|
+
- 7940995: fix: resume on xrsession end, export internal events
|
|
810
|
+
|
|
811
|
+
## 8.0.26
|
|
812
|
+
|
|
813
|
+
### Patch Changes
|
|
814
|
+
|
|
815
|
+
- 7b6df9df: fix: infinite loop updating cam viewport
|
|
816
|
+
|
|
817
|
+
## 8.0.25
|
|
818
|
+
|
|
819
|
+
### Patch Changes
|
|
820
|
+
|
|
821
|
+
- b7cd0f42: update viewport on camera changes
|
|
822
|
+
|
|
823
|
+
## 8.0.24
|
|
824
|
+
|
|
825
|
+
### Patch Changes
|
|
826
|
+
|
|
827
|
+
- ee8e785: fix: attach timings
|
|
828
|
+
|
|
829
|
+
## 8.0.23
|
|
830
|
+
|
|
831
|
+
### Patch Changes
|
|
832
|
+
|
|
833
|
+
- 29d03c64: revert multi attach
|
|
834
|
+
|
|
835
|
+
## 8.0.22
|
|
836
|
+
|
|
837
|
+
### Patch Changes
|
|
838
|
+
|
|
839
|
+
- 419e854: fix: always prepare primitives
|
|
840
|
+
|
|
841
|
+
## 8.0.21
|
|
842
|
+
|
|
843
|
+
### Patch Changes
|
|
844
|
+
|
|
845
|
+
- 3098b9b: fix: resizing in worker contexts, copy over attachments on reconstruct
|
|
846
|
+
|
|
847
|
+
## 8.0.20
|
|
848
|
+
|
|
849
|
+
### Patch Changes
|
|
850
|
+
|
|
851
|
+
- 4c87bce: fix: attach, devtools, and perf fixes
|
|
852
|
+
|
|
853
|
+
## 8.0.19
|
|
854
|
+
|
|
855
|
+
### Patch Changes
|
|
856
|
+
|
|
857
|
+
- 360b45a: fix: handle attach on reconstruct
|
|
858
|
+
|
|
859
|
+
## 8.0.18
|
|
860
|
+
|
|
861
|
+
### Patch Changes
|
|
862
|
+
|
|
863
|
+
- be567c1: fix: suspense attach and three compat in webpack
|
|
864
|
+
|
|
865
|
+
## 8.0.17
|
|
866
|
+
|
|
867
|
+
### Patch Changes
|
|
868
|
+
|
|
869
|
+
- 9e3369e: fix dom resize, improve native tree shaking
|
|
870
|
+
|
|
871
|
+
## 8.0.16
|
|
872
|
+
|
|
873
|
+
### Patch Changes
|
|
874
|
+
|
|
875
|
+
- 669c45c: correctly type useLoader results
|
|
876
|
+
|
|
877
|
+
## 8.0.15
|
|
878
|
+
|
|
879
|
+
### Patch Changes
|
|
880
|
+
|
|
881
|
+
- c4715d5f: allow invalidate to preempt more than 1 frame
|
|
882
|
+
|
|
883
|
+
## 8.0.14
|
|
884
|
+
|
|
885
|
+
### Patch Changes
|
|
886
|
+
|
|
887
|
+
- 5559a119: Add support for recoverable errors
|
|
888
|
+
|
|
889
|
+
## 8.0.13
|
|
890
|
+
|
|
891
|
+
### Patch Changes
|
|
892
|
+
|
|
893
|
+
- 9d77d8e2: fix: detach attribute removal
|
|
894
|
+
|
|
895
|
+
## 8.0.12
|
|
896
|
+
|
|
897
|
+
### Patch Changes
|
|
898
|
+
|
|
899
|
+
- 3d10413f: fix portal layers
|
|
900
|
+
|
|
901
|
+
## 8.0.11
|
|
902
|
+
|
|
903
|
+
### Patch Changes
|
|
904
|
+
|
|
905
|
+
- 5167b1e4: memoized.args can be undefined
|
|
906
|
+
|
|
907
|
+
## 8.0.10
|
|
908
|
+
|
|
909
|
+
### Patch Changes
|
|
910
|
+
|
|
911
|
+
- eb321afd: fix: remount bug, allow portals to inject custom size
|
|
912
|
+
|
|
913
|
+
## 8.0.9
|
|
914
|
+
|
|
915
|
+
### Patch Changes
|
|
916
|
+
|
|
917
|
+
- 624df949: fix: canvas unmount race condition"
|
|
918
|
+
|
|
919
|
+
## 8.0.8
|
|
920
|
+
|
|
921
|
+
### Patch Changes
|
|
922
|
+
|
|
923
|
+
- 952a566: fix: react SSR
|
|
924
|
+
|
|
925
|
+
## 8.0.7
|
|
926
|
+
|
|
927
|
+
### Patch Changes
|
|
928
|
+
|
|
929
|
+
- f63806b: fix: react SSR
|
|
930
|
+
|
|
931
|
+
## 8.0.6
|
|
932
|
+
|
|
933
|
+
### Patch Changes
|
|
934
|
+
|
|
935
|
+
- d4bafb9: fix re-parenting, useframe not working properly in portals, attach crash
|
|
936
|
+
|
|
937
|
+
## 8.0.5
|
|
938
|
+
|
|
939
|
+
### Patch Changes
|
|
940
|
+
|
|
941
|
+
- 227c328: fix pointer for root and portals
|
|
942
|
+
|
|
943
|
+
## 8.0.4
|
|
944
|
+
|
|
945
|
+
### Patch Changes
|
|
946
|
+
|
|
947
|
+
- e981a72: fix: mock three color management, loosen peer dep
|
|
948
|
+
|
|
949
|
+
## 8.0.3
|
|
950
|
+
|
|
951
|
+
### Patch Changes
|
|
952
|
+
|
|
953
|
+
- 3252aed: setevents needs to spread and be mirrored in portals
|
|
954
|
+
|
|
955
|
+
## 8.0.2
|
|
956
|
+
|
|
957
|
+
### Patch Changes
|
|
958
|
+
|
|
959
|
+
- 8035d1f: fix: legacy mode
|
|
960
|
+
|
|
961
|
+
## 8.0.1
|
|
962
|
+
|
|
963
|
+
### Patch Changes
|
|
964
|
+
|
|
965
|
+
- 26db195: add legacy flag to turn of three.colormanagement
|
|
966
|
+
|
|
967
|
+
## 8.0.0
|
|
968
|
+
|
|
969
|
+
### Major Changes
|
|
970
|
+
|
|
971
|
+
- 385ba9c: v8 major, react-18 compat
|
|
972
|
+
- 04c07b8: v8 major, react-18 compat
|
|
973
|
+
|
|
974
|
+
### Patch Changes
|
|
975
|
+
|
|
976
|
+
- 347ea79: new beta for library testing
|
|
977
|
+
|
|
978
|
+
## 8.0.0-beta.0
|
|
979
|
+
|
|
980
|
+
### Major Changes
|
|
981
|
+
|
|
982
|
+
- 385ba9c: v8 major, react-18 compat
|
|
983
|
+
|
|
984
|
+
## 8.0.0-beta.0
|
|
985
|
+
|
|
986
|
+
### Patch Changes
|
|
987
|
+
|
|
988
|
+
- cf6316c: new beta for library testing
|
|
989
|
+
|
|
990
|
+
## 7.0.25
|
|
991
|
+
|
|
992
|
+
### Patch Changes
|
|
993
|
+
|
|
994
|
+
- 8698734: Release latest patches
|
|
995
|
+
|
|
996
|
+
## 7.0.24
|
|
997
|
+
|
|
998
|
+
### Patch Changes
|
|
999
|
+
|
|
1000
|
+
- 7f46ddf: cleanup captured pointers when released (#1914)
|
|
1001
|
+
|
|
1002
|
+
## 7.0.23
|
|
1003
|
+
|
|
1004
|
+
### Patch Changes
|
|
1005
|
+
|
|
1006
|
+
- 30d38b1: remove logs
|
|
1007
|
+
|
|
1008
|
+
## 7.0.22
|
|
1009
|
+
|
|
1010
|
+
### Patch Changes
|
|
1011
|
+
|
|
1012
|
+
- 259e1fa: add camera:manual
|
|
1013
|
+
|
|
1014
|
+
## 7.0.21
|
|
1015
|
+
|
|
1016
|
+
### Patch Changes
|
|
1017
|
+
|
|
1018
|
+
- 65e4147: up usemeasure, add last event to internals"
|
|
1019
|
+
|
|
1020
|
+
## 7.0.20
|
|
1021
|
+
|
|
1022
|
+
### Patch Changes
|
|
1023
|
+
|
|
1024
|
+
- 54cb0fd: update react-use-measure, allow it to use the offsetSize
|
|
1025
|
+
|
|
1026
|
+
## 7.0.19
|
|
1027
|
+
|
|
1028
|
+
### Patch Changes
|
|
1029
|
+
|
|
1030
|
+
- 7aa2eab: fix: remove zustand subscribe selector
|
|
1031
|
+
|
|
1032
|
+
## 7.0.18
|
|
1033
|
+
|
|
1034
|
+
### Patch Changes
|
|
1035
|
+
|
|
1036
|
+
- 6780f58: fix unmount pointer capture
|
|
1037
|
+
|
|
1038
|
+
## 7.0.17
|
|
1039
|
+
|
|
1040
|
+
### Patch Changes
|
|
1041
|
+
|
|
1042
|
+
- 894c550: fix: event count
|
|
1043
|
+
|
|
1044
|
+
## 7.0.16
|
|
1045
|
+
|
|
1046
|
+
### Patch Changes
|
|
1047
|
+
|
|
1048
|
+
- c7a4220: patch: applyprops returns the same instance
|
|
1049
|
+
|
|
1050
|
+
## 7.0.15
|
|
1051
|
+
|
|
1052
|
+
### Patch Changes
|
|
1053
|
+
|
|
1054
|
+
- c5645e8: fix primitive leftovers on switch
|
|
1055
|
+
|
|
1056
|
+
## 7.0.14
|
|
1057
|
+
|
|
1058
|
+
### Patch Changes
|
|
1059
|
+
|
|
1060
|
+
- 05af996: fix: revert the is function
|
|
1061
|
+
|
|
1062
|
+
## 7.0.13
|
|
1063
|
+
|
|
1064
|
+
### Patch Changes
|
|
1065
|
+
|
|
1066
|
+
- f256558: fix(core): don't overwrite camera rotation
|
|
1067
|
+
- 51e6fc9: fix(core): safely handle external instances
|
|
1068
|
+
|
|
1069
|
+
## 7.0.12
|
|
1070
|
+
|
|
1071
|
+
### Patch Changes
|
|
1072
|
+
|
|
1073
|
+
- 0df6073: fix: missed events
|
|
1074
|
+
|
|
1075
|
+
## 7.0.11
|
|
1076
|
+
|
|
1077
|
+
### Patch Changes
|
|
1078
|
+
|
|
1079
|
+
- 62b0a3a: fix: event order of missed pointers
|
|
1080
|
+
|
|
1081
|
+
## 7.0.10
|
|
1082
|
+
|
|
1083
|
+
### Patch Changes
|
|
1084
|
+
|
|
1085
|
+
- e019dd4: fixes
|
|
1086
|
+
|
|
1087
|
+
## 7.0.9
|
|
1088
|
+
|
|
1089
|
+
### Patch Changes
|
|
1090
|
+
|
|
1091
|
+
- cd266e4: Fix diffProps dashed keys
|
|
1092
|
+
|
|
1093
|
+
## 7.0.8
|
|
1094
|
+
|
|
1095
|
+
### Patch Changes
|
|
1096
|
+
|
|
1097
|
+
- 6f68406: Allow getCurrentViewport to receive an array
|
|
1098
|
+
|
|
1099
|
+
## 7.0.7
|
|
1100
|
+
|
|
1101
|
+
### Patch Changes
|
|
1102
|
+
|
|
1103
|
+
- 0375896: Simplify useframe, support instanced event cancelation, silence disposal
|
|
1104
|
+
|
|
1105
|
+
## 7.0.6
|
|
1106
|
+
|
|
1107
|
+
### Patch Changes
|
|
1108
|
+
|
|
1109
|
+
- fb052ad: Fix babel-env browserslist transpiling into old code"
|
|
1110
|
+
|
|
1111
|
+
## 7.0.5
|
|
1112
|
+
|
|
1113
|
+
### Patch Changes
|
|
1114
|
+
|
|
1115
|
+
- c97794a: Add useLoader.clear(Loader, input)
|
|
1116
|
+
|
|
1117
|
+
## 7.0.4
|
|
1118
|
+
|
|
1119
|
+
### Patch Changes
|
|
1120
|
+
|
|
1121
|
+
- 974ecfb: Allow elements to define attachFns for specific mount/unmount
|
|
1122
|
+
|
|
1123
|
+
## 7.0.2
|
|
1124
|
+
|
|
1125
|
+
### Patch Changes
|
|
1126
|
+
|
|
1127
|
+
- a97aca3: Add controls state field
|
|
1128
|
+
- 4c703d6: fix rttr didn't work with r130
|
|
1129
|
+
|
|
1130
|
+
## 7.0.0
|
|
1131
|
+
|
|
1132
|
+
### Major Changes
|
|
1133
|
+
|
|
1134
|
+
- 96ae1ad: fix javascript interpreting negative renderpriority as positive
|
|
1135
|
+
|
|
1136
|
+
This is a major breaking change that will fix an edge-case. It will only affect you if you used negative useFrame indices, for instance
|
|
1137
|
+
|
|
1138
|
+
```jsx
|
|
1139
|
+
useFrame(..., -1)
|
|
1140
|
+
```
|
|
1141
|
+
|
|
1142
|
+
Surprisingly this disabled auto-rendering although the documentation says positive numbers only. As of v7 this will not take over the render loop.
|
|
1143
|
+
|
|
1144
|
+
```jsx
|
|
1145
|
+
function Render() {
|
|
1146
|
+
// Takes over the render-loop, the user has the responsibility to render
|
|
1147
|
+
useFrame(({ gl, scene, camera }) => {
|
|
1148
|
+
gl.render(scene, camera)
|
|
1149
|
+
}, 1)
|
|
1150
|
+
|
|
1151
|
+
function RenderOnTop() {
|
|
1152
|
+
// This will render on top of the previous call
|
|
1153
|
+
useFrame(({ gl, ... }) => {
|
|
1154
|
+
gl.render(...)
|
|
1155
|
+
}, 2)
|
|
1156
|
+
|
|
1157
|
+
function A() {
|
|
1158
|
+
// Will *not* take over the render-loop, negative indices can still be useful for sorting
|
|
1159
|
+
useFrame(() => ..., -1)
|
|
1160
|
+
|
|
1161
|
+
function B() {
|
|
1162
|
+
// B's useFrame will execute *after* A's
|
|
1163
|
+
useFrame(() => ..., -2)
|
|
1164
|
+
```
|
|
1165
|
+
|
|
1166
|
+
## 6.2.3
|
|
1167
|
+
|
|
1168
|
+
### Patch Changes
|
|
1169
|
+
|
|
1170
|
+
- 26bc7eb: typescript changes
|
|
1171
|
+
|
|
1172
|
+
## 6.2.2
|
|
1173
|
+
|
|
1174
|
+
### Patch Changes
|
|
1175
|
+
|
|
1176
|
+
- 4f44a2c: use more helpful name with event handling in rttr
|
|
1177
|
+
|
|
1178
|
+
## 6.2.1
|
|
1179
|
+
|
|
1180
|
+
### Patch Changes
|
|
1181
|
+
|
|
1182
|
+
- Fix stopPropagation logic
|
|
1183
|
+
|
|
1184
|
+
## 6.2.0
|
|
1185
|
+
|
|
1186
|
+
### Minor Changes
|
|
1187
|
+
|
|
1188
|
+
- Allow object3d instances to be attached
|
|
1189
|
+
|
|
1190
|
+
## 6.1.5
|
|
1191
|
+
|
|
1192
|
+
### Patch Changes
|
|
1193
|
+
|
|
1194
|
+
- fix(rttr): if children is undefined return an array to map with
|
|
1195
|
+
|
|
1196
|
+
## 6.1.4
|
|
1197
|
+
|
|
1198
|
+
### Patch Changes
|
|
1199
|
+
|
|
1200
|
+
- 6faa090: Add shape to types, exclude event functions from event data
|
|
1201
|
+
|
|
1202
|
+
## 6.1.3
|
|
1203
|
+
|
|
1204
|
+
### Patch Changes
|
|
1205
|
+
|
|
1206
|
+
- 71e72c0: Fix constructor args with attached children (#1348)
|
|
1207
|
+
- 015fc03: Only set up pointer/wheel events as passive
|
|
1208
|
+
- a160e08: Fix event setPointerCapture and stopPropagation.
|
|
1209
|
+
|
|
1210
|
+
## 6.1.2
|
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# vue-threejs
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@xperimntl/vue-threejs)
|
|
4
|
+
[](https://github.com/chris-xperimntl/vue-threejs/actions/workflows/test.yml)
|
|
5
|
+
[](https://chris-xperimntl.github.io/vue-threejs/)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
A Vue 3 renderer for [Three.js](https://threejs.org/), ported from [react-three-fiber](https://github.com/pmndrs/react-three-fiber). Declarative scene authoring with Vue composables, DOM/3D slot composition, and reactive demand rendering.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @xperimntl/vue-threejs three vue
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
```vue
|
|
17
|
+
<script setup lang="ts">
|
|
18
|
+
import type { Mesh } from 'three'
|
|
19
|
+
import { Canvas, useFrame, useObjectRef } from '@xperimntl/vue-threejs'
|
|
20
|
+
|
|
21
|
+
const box = useObjectRef<Mesh>()
|
|
22
|
+
|
|
23
|
+
useFrame((_, delta) => {
|
|
24
|
+
if (box.object.value) {
|
|
25
|
+
box.object.value.rotation.x += delta
|
|
26
|
+
box.object.value.rotation.y += delta * 0.5
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<template>
|
|
32
|
+
<Canvas>
|
|
33
|
+
<ambientLight :intensity="0.5" />
|
|
34
|
+
<pointLight :position="[10, 10, 10]" />
|
|
35
|
+
<mesh :ref="box.ref">
|
|
36
|
+
<boxGeometry />
|
|
37
|
+
<meshStandardMaterial color="orange" />
|
|
38
|
+
</mesh>
|
|
39
|
+
</Canvas>
|
|
40
|
+
</template>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Features
|
|
44
|
+
|
|
45
|
+
| | |
|
|
46
|
+
| ---------------------- | --------------------------------------------------------------------------------- |
|
|
47
|
+
| **Declarative scenes** | Vue components map directly to Three.js objects |
|
|
48
|
+
| **Fiber-compatible** | `Canvas`, `useFrame`, `useThree`, `useLoader`, `createPortal`, `extend` |
|
|
49
|
+
| **Vue-native** | `useObjectRef`, `useRenderCommit`, `useNextFrame`, `watchInvalidate` |
|
|
50
|
+
| **DOM + 3D** | Canvas `#overlay` and `#error` slots, `provide`/`inject` across boundaries |
|
|
51
|
+
| **Demand rendering** | `frameloop="demand"` + `watchInvalidate` for zero-waste rendering |
|
|
52
|
+
| **Plugin system** | `defineFiberPlugin` for root-scoped extensions (postprocessing, physics, helpers) |
|
|
53
|
+
|
|
54
|
+
## API
|
|
55
|
+
|
|
56
|
+
<details>
|
|
57
|
+
<summary><strong>Core composables</strong></summary>
|
|
58
|
+
|
|
59
|
+
| Composable | Purpose |
|
|
60
|
+
| ------------------------------------------- | ----------------------------------------------- |
|
|
61
|
+
| `useFrame(cb, priority?)` | Run logic each rendered frame |
|
|
62
|
+
| `useThree(selector?)` | Access renderer state (gl, scene, camera, size) |
|
|
63
|
+
| `useLoader(loader, url, ext?, onProgress?)` | Load and cache assets |
|
|
64
|
+
| `useObjectRef<T>()` | Raw THREE object access with lifecycle tracking |
|
|
65
|
+
| `useRenderCommit()` | Wait for Vue flush + rendered frame |
|
|
66
|
+
| `useNextFrame()` | Promise that resolves after one frame |
|
|
67
|
+
| `useAfterRender(cb)` | Post-render hook with auto cleanup |
|
|
68
|
+
| `watchInvalidate(source, opts?)` | Vue reactivity to demand-mode invalidation |
|
|
69
|
+
| `createPortal(children, container)` | Render into another scene container |
|
|
70
|
+
|
|
71
|
+
</details>
|
|
72
|
+
|
|
73
|
+
<details>
|
|
74
|
+
<summary><strong>Compatibility notes</strong></summary>
|
|
75
|
+
|
|
76
|
+
- **Refs** are proxy-backed. `instanceof` works, `===` identity does not. Use `useObjectRef` for the raw object.
|
|
77
|
+
- **Suspense** keeps previous content visible during re-entrance. Use manual loading patterns for transitions.
|
|
78
|
+
- **Events** are raycaster-based, not DOM-based. Pointer capture semantics differ.
|
|
79
|
+
|
|
80
|
+
See [Known Limitations](https://chris-xperimntl.github.io/vue-threejs/advanced/known-limitations) and [Compatibility Contract](https://chris-xperimntl.github.io/vue-threejs/advanced/compatibility-contract).
|
|
81
|
+
|
|
82
|
+
</details>
|
|
83
|
+
|
|
84
|
+
## Ecosystem
|
|
85
|
+
|
|
86
|
+
Built-in packages ported from [Poimandres](https://github.com/pmndrs):
|
|
87
|
+
|
|
88
|
+
| Package | Origin | What it provides |
|
|
89
|
+
| -------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
90
|
+
| drei | [@react-three/drei](https://github.com/pmndrs/drei) | Controls, loaders, staging, materials, helpers |
|
|
91
|
+
| postprocessing | [@react-three/postprocessing](https://github.com/pmndrs/react-postprocessing) | GPU postprocessing effects |
|
|
92
|
+
| rapier | [@react-three/rapier](https://github.com/pmndrs/react-three-rapier) | Rigid-body physics |
|
|
93
|
+
| test-renderer | [@react-three/test-renderer](https://github.com/pmndrs/react-three-fiber/tree/master/packages/test-renderer) | Node.js testing |
|
|
94
|
+
|
|
95
|
+
## Documentation
|
|
96
|
+
|
|
97
|
+
[**chris-xperimntl.github.io/vue-threejs**](https://chris-xperimntl.github.io/vue-threejs/)
|
|
98
|
+
|
|
99
|
+
- [Installation](https://chris-xperimntl.github.io/vue-threejs/getting-started/installation)
|
|
100
|
+
- [Interactive Examples](https://chris-xperimntl.github.io/vue-threejs/getting-started/examples)
|
|
101
|
+
- [Vue-Native Patterns](https://chris-xperimntl.github.io/vue-threejs/tutorials/vue-native-patterns)
|
|
102
|
+
- [Architecture](https://chris-xperimntl.github.io/vue-threejs/advanced/architecture)
|
|
103
|
+
- [Support Matrix](https://chris-xperimntl.github.io/vue-threejs/advanced/support-matrix)
|
|
104
|
+
|
|
105
|
+
<details>
|
|
106
|
+
<summary><strong>Develop locally</strong></summary>
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
git clone https://github.com/chris-xperimntl/vue-threejs.git
|
|
110
|
+
cd vue-threejs
|
|
111
|
+
yarn install && yarn build
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
yarn examples # docs site with demos
|
|
116
|
+
yarn test # test suite
|
|
117
|
+
yarn typecheck # TypeScript checks
|
|
118
|
+
yarn eslint # lint
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
</details>
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
[MIT](LICENSE). Includes substantial code from [react-three-fiber](https://github.com/pmndrs/react-three-fiber) by [Poimandres](https://github.com/pmndrs), licensed under the same terms. Ecosystem packages ported from [drei](https://github.com/pmndrs/drei), [react-postprocessing](https://github.com/pmndrs/react-postprocessing), and [react-three-rapier](https://github.com/pmndrs/react-three-rapier).
|
package/TESTING.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Testing — Gap-to-Proof Map
|
|
2
|
+
|
|
3
|
+
Internal reference mapping each behavioral claim to the test that proves it.
|
|
4
|
+
This is not part of the public docs.
|
|
5
|
+
|
|
6
|
+
## Divergence Coverage
|
|
7
|
+
|
|
8
|
+
| Behavior | Test Name | File |
|
|
9
|
+
| ---------------------------------------------- | ----------------------------------------------------------------- | ----------------- |
|
|
10
|
+
| Refs: instanceof works via proxy | "should forward ref three object" | renderer.test.tsx |
|
|
11
|
+
| Refs: identity requires .object | "should handle the object prop reactively" | renderer.test.tsx |
|
|
12
|
+
| Suspense: visibility stays true | "should toggle visibility during Suspense non-destructively" | renderer.test.tsx |
|
|
13
|
+
| Suspense: old content stays during re-entrance | "should handle Suspense lifecycle with async primitives" (Step 3) | renderer.test.tsx |
|
|
14
|
+
| flushSync: synchronous scene update | "should update scene synchronously with flushSync" | renderer.test.tsx |
|
|
15
|
+
| flushSync: nested component flush | "should flush nested component updates synchronously" | renderer.test.tsx |
|
|
16
|
+
| flushSync: no double-run after flush | "should not double-run effects after flushSync" | renderer.test.tsx |
|
|
17
|
+
| flushSync: multi-root flush | "should flush multiple roots" | renderer.test.tsx |
|
|
18
|
+
| flushSync: returns void | "should return void, not Promise" | renderer.test.tsx |
|
|
19
|
+
|
|
20
|
+
## Vue-Native API Coverage
|
|
21
|
+
|
|
22
|
+
| Behavior | Test Name | File |
|
|
23
|
+
| ---------------------------------------- | ----------------------------------------------------------------- | ----------------- |
|
|
24
|
+
| useObjectRef: direct object access | "should provide direct object access" | renderer.test.tsx |
|
|
25
|
+
| useObjectRef: reconstruction handling | "should handle reconstruction" | renderer.test.tsx |
|
|
26
|
+
| useObjectRef: mounted state tracking | "should track mounted state" | renderer.test.tsx |
|
|
27
|
+
| Canvas: overlay slot renders DOM sibling | "should render overlay slot in DOM sibling of canvas" | renderer.test.tsx |
|
|
28
|
+
| Canvas: no overlay div when slot absent | "should not render overlay div when slot is absent" | renderer.test.tsx |
|
|
29
|
+
| Canvas: error slot with retry | "should render error slot with error and retry props" | renderer.test.tsx |
|
|
30
|
+
| Canvas: default error display | "should show default error display when no error slot provided" | renderer.test.tsx |
|
|
31
|
+
| watchInvalidate: invalidates on change | "should invalidate on reactive source change" | renderer.test.tsx |
|
|
32
|
+
| useAfterRender: callback + cleanup | "useAfterRender should call callback after render and cleanup" | renderer.test.tsx |
|
|
33
|
+
| useNextFrame: resolves after frame | "useNextFrame should resolve after a rendered frame" | renderer.test.tsx |
|
|
34
|
+
| useRenderCommit: waits for flush + frame | "useRenderCommit should wait for Vue flush and scene application" | renderer.test.tsx |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// this file might look strange and you might be wondering what it's for
|
|
3
|
+
// it's lets you import your source files by importing this entrypoint
|
|
4
|
+
// as you would import it if it was built with preconstruct build
|
|
5
|
+
// this file is slightly different to some others though
|
|
6
|
+
// it has a require hook which compiles your code with Babel
|
|
7
|
+
// this means that you don't have to set up @babel/register or anything like that
|
|
8
|
+
// but you can still require this module and it'll be compiled
|
|
9
|
+
|
|
10
|
+
// this bit of code imports the require hook and registers it
|
|
11
|
+
let unregister = require("../../../node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../..", "..");
|
|
12
|
+
|
|
13
|
+
// this re-exports the source file
|
|
14
|
+
module.exports = require("../src/index.ts");
|
|
15
|
+
|
|
16
|
+
unregister();
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xperimntl/vue-threejs",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "A Vue.js renderer for Three.js",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vue",
|
|
7
|
+
"renderer",
|
|
8
|
+
"fiber",
|
|
9
|
+
"three",
|
|
10
|
+
"threejs"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/chris-xperimntl/vue-threejs/issues"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/chris-xperimntl/vue-threejs#readme",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/chris-xperimntl/vue-threejs.git"
|
|
20
|
+
},
|
|
21
|
+
"main": "dist/xperimntl-vue-threejs.cjs.js",
|
|
22
|
+
"module": "dist/xperimntl-vue-threejs.esm.js",
|
|
23
|
+
"types": "dist/xperimntl-vue-threejs.cjs.d.ts",
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"preconstruct": {
|
|
26
|
+
"entrypoints": [
|
|
27
|
+
"index.ts"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"prebuild": "node -e \"require('node:fs').copyFileSync('../../README.md','README.md')\""
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@babel/runtime": "^7.29.2",
|
|
35
|
+
"@types/webxr": "*",
|
|
36
|
+
"@vueuse/core": "^10.0.0",
|
|
37
|
+
"base64-js": "^1.5.1",
|
|
38
|
+
"buffer": "^6.0.3",
|
|
39
|
+
"zustand": "^5.0.12"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"vue": ">=3.3",
|
|
43
|
+
"three": ">=0.156"
|
|
44
|
+
}
|
|
45
|
+
}
|