Unfortunately you cannot (yet) share resources across contexts on WebGL.
For instance, an object from a canvas 'B' that is assigned a material with similar characteristics, in similar scenes, to another previously created in canvas 'A' would attempt - and fail - to use the renderer from 'A', since the hash (built using rendering caracteristics) would match.
Adding the canvas id to the hash solves this issue, forcing canvases to hold the entirety of the data they need when rendering.
Unfortunately you cannot (yet) share resources across contexts on WebGL.
For instance, an object from a canvas 'B' that is assigned a material with similar characteristics, in similar scenes, to another previously created in canvas 'A' would attempt - and fail - to use the renderer from 'A', since the hash (built using rendering caracteristics) would match.
Adding the canvas id to the hash solves this issue, forcing canvases to hold the entirety of the data they need when rendering.