Extra wrapper added around the canvas to prevent it from growing indefinitely in some cases. This requires an extra .parentElement to get to r3fRoot and a change to the r3fRoot > canvas CSS selector. R3F still registers events on r3fRoot.
Cleaner way of aliasing the Line element to not conflict with SVG line in JSX
Note also the new interface ThreeElements to access the prop types of Three objects - e.g. ThreeElements['mesh'] => MeshProps — it could come in handy: <T extends 'mesh' | 'points'>(props: ThreeElements[T]) => void
R3F can now be configured to listen for events on another DOM element than gl.domElement.parentNode (i.e. r3fRoot). This is going to enable further refactoring and new features like the picking API.
There's now a built-in context bridge, so children of R3F's Canvas can now access contexts provided outside of R3F, like the toolbar configs (not that we want to do that). I think this opens the door to refactoring opportunities, notably in Daiquiri.
From 8.0.14 to 8.14.1 (version 8.1.0 is on page 7).
.parentElement
to get tor3fRoot
and a change to ther3fRoot > canvas
CSS selector. R3F still registers events onr3fRoot
.Line
element to not conflict with SVGline
in JSXThreeElements
to access the prop types of Three objects - e.g.ThreeElements['mesh']
=>MeshProps
— it could come in handy:<T extends 'mesh' | 'points'>(props: ThreeElements[T]) => void
gl.domElement.parentNode
(i.e.r3fRoot
). This is going to enable further refactoring and new features like the picking API.Canvas
can now access contexts provided outside of R3F, like the toolbar configs (not that we want to do that). I think this opens the door to refactoring opportunities, notably in Daiquiri.OffscreenCanvas
! Maybe a way forward for #95...