switched to specifically use WebGL (not canvas)