react-three-fiber icon indicating copy to clipboard operation
react-three-fiber copied to clipboard

`three-stdlib>=2.34.1` controls are incompatible with `R3F`

Open RodrigoHamuy opened this issue 1 year ago • 0 comments

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

RodrigoHamuy avatar Dec 18 '24 13:12 RodrigoHamuy