react-three-fiber
react-three-fiber copied to clipboard
`three-stdlib>=2.34.1` controls are incompatible with `R3F`
Most three-stdlib controllers like OrbitControls and others are incompatible with R3F controls API.
This is because R3F store controls: THREE.EventDispatcher | null (source) extends from THREE.EventDispatcher, but latest three-stdlib introduced its own EventDispatcher (https://github.com/pmndrs/three-stdlib/pull/388) and their types do not match.
How to reproduce: Using latest R3F and three-stdlib write this line of code: useThree().set({controls: OrbitControls})
Expected: Typescript should not complain.
Currently: TS complains.
Depending on what's decided, we may not need to change anything in R3F, more info here: https://github.com/pmndrs/three-stdlib/pull/388#issuecomment-2551493576