recursive structure almost done. freaking weird bug with Vec3 constructor in sphere.getLightAt()