Working with threejs and web components is so much fucking fun