This change set was driven by a bug when multiple viewers are embedded on the same page. Only one 3d view could be manipulated at a time and the other would go blank.
This change set turned into a small mixture of bug fixes:
While debugging, I discovered that the canvas and its parent div were getting html id attributes set. All html elements should either have unique ids or no id. In the case where we have multiple viewers on the page, some of these elements would have had the same ids.
I also was (needlessly) suspicious of threejs corrupting global state. I went ahead and updated its version to latest. While doing that, I updated our modified TrackballControls to stay as close as possible to the threejs source code.
Along the way I also found a minor bug with "reset camera" while the Axis Helper is being displayed. That bug is fixed here.
It turned out that the key bug was probably introduced when I implemented "fuse on gpu". The result texture needed to be updated more proactively and that resolved the issue of secondary viewers going blank.
This change set was driven by a bug when multiple viewers are embedded on the same page. Only one 3d view could be manipulated at a time and the other would go blank.
This change set turned into a small mixture of bug fixes:
While debugging, I discovered that the canvas and its parent div were getting html id attributes set. All html elements should either have unique ids or no id. In the case where we have multiple viewers on the page, some of these elements would have had the same ids.
I also was (needlessly) suspicious of threejs corrupting global state. I went ahead and updated its version to latest. While doing that, I updated our modified TrackballControls to stay as close as possible to the threejs source code.
Along the way I also found a minor bug with "reset camera" while the Axis Helper is being displayed. That bug is fixed here.
It turned out that the key bug was probably introduced when I implemented "fuse on gpu". The result texture needed to be updated more proactively and that resolved the issue of secondary viewers going blank.