A recent update to Chrome (128) appears to have exposed a bug, as described in this Discord post.
I traced at least one cause (there may be more) to the use of a temporary array in the hoverable-visuals component. A threejs matrix is copied into the array and then the position elements are read and ultimately submitted as uniforms to the WebGL shader. However, if interactorOne or interactorTwo are not active, the matrix is not written and the required elements are never initialized. Seeding the array with a unit matrix fixes the problem.
It's not clear why this has only just started causing a runtime issue. Perhaps Chrome used to interpret undefined as zero instead of throwing a TypeError?
A recent update to Chrome (128) appears to have exposed a bug, as described in this Discord post.
I traced at least one cause (there may be more) to the use of a temporary array in the hoverable-visuals component. A threejs matrix is copied into the array and then the position elements are read and ultimately submitted as uniforms to the WebGL shader. However, if
interactorOne
orinteractorTwo
are not active, the matrix is not written and the required elements are never initialized. Seeding the array with a unit matrix fixes the problem.It's not clear why this has only just started causing a runtime issue. Perhaps Chrome used to interpret
undefined
as zero instead of throwing a TypeError?