This adds ThreeEventManager which has a global pointer event system for the editor. Some notes:
This is completely ignore the R3F event manager. For the better, we no longer need to patch R3F events to work on its elements.
Currently only supports pointerdown and pointermissed, but I am happy to add new events as we see a need.
Events effect EditableElement. You can use the familiar addEventListener/removeEventListener api.
Right now, the event manager dispatches pointerdown events to all EditableElements, but only dispatches pointermissed to the root canvas. Note: there is a namespace collision between R3F roots and the editor root. See: https://github.com/pmndrs/react-three-editor/issues/37
Three layers have begun to be used. This is experimental, but offers benefits in that we save performance on skipping raycasting on any object in our exclude layer, but also we can begin to setup nice features like toggling on and off layers of objects. For example, gizmos or labels, like the Unity editor does.
This adds
ThreeEventManager
which has a global pointer event system for the editor. Some notes:pointerdown
andpointermissed
, but I am happy to add new events as we see a need.EditableElement
. You can use the familiaraddEventListener
/removeEventListener
api.pointerdown
events to allEditableElement
s, but only dispatchespointermissed
to the root canvas. Note: there is a namespace collision between R3F roots and the editor root. See: https://github.com/pmndrs/react-three-editor/issues/37