v3.0.5
Fixed
- EffectComposer: the composer was created in
useMemo, which React may discard without running cleanup. Creation moved into a proper effect lifecycle instead. (#353) by @kvvasuu - EffectComposer:
renderer.autoClearandrenderer.toneMappingwere force-set and never restored. They're now restored on unmount. (#358) by @kvvasuu - ChromaticAberration: moved off the generic
wrapEffectonto a manual construct/dispose pattern so the tupleoffsetprop is correctly coerced. (#355) by @kvvasuu - Selection: fixed an infinite update loop caused by
Select's effect depending on its own write; it now diffs newly-claimed/released objects against what it previously claimed instead of clearing and re-adding unconditionally. (#359) by @kvvasuu - Selection: object detection now covers
Mesh/Line/Pointssubclasses (isMesh/isLine/isPoints), not just an exacttype === 'Mesh'check - custom mesh subclasses are now selectable. (#359) by @kvvasuu - SelectiveBloom: light refs that haven't attached yet are now resolved and filtered instead of crashing
addLight/removeLighton a null object. (#360) by @kvvasuu - Outline, SelectiveBloom: selection sync unified behind a shared
useSelectionSynchook, which also stops the selection effect from re-running on every render (it previously depended on an unstable spreadpropsobject). (#360) by @kvvasuu - Outline:
patternScale,multisampling,resolutionScale,resolutionX,resolutionYare now wired up as live constructor options. (#360) by @kvvasuu - SelectiveBloom:
radius,levels,resolutionScale,resolutionX,resolutionYare now wired up as live constructor options. (#360) by @kvvasuu - All
<primitive>-based effects now dispose themselves (newuseDisposehook). (#355) by @kvvasuu - Corrected npm package metadata (added
bugs/homepagefields). (#347) by @2lll5
Changed
wrapEffectsplit out ofutil.tsxinto its own module; Effect components droppedforwardRefin favor ofrefas a plain, optional prop. (#352) by @kvvasuu@react-three/fiberpeer floor raised to>=9.7.0. (#353) by @kvvasuupostprocessingmoved from a pinneddependenciesentry to apeerDependenciesrange (^6.36.0);threepeer floor raised to>= 0.182.0. (#351) by @kvvasuu- Migrated ESLint config to flat config; updated dependencies. (#351) by @kvvasuu
- Updated tone mapping docs (examples and props table). (#345) by @vis-prime
Added
- Smoke test coverage for every effect component, plus new regression tests for Selection, Outline, SelectiveBloom, ChromaticAberration, EffectComposer, and wrapEffect. (#355, #356, #359, #360) by @kvvasuu
- GitHub Action for publishing releases to npm from
master, by @krispya
New Contributors
- @2lll5 made their first contribution in #347
- @vis-prime made their first contribution in #345
Full Changelog: v3.0.4...v3.0.5