tats.domElement);

		function loop() {
			requestAnimationFrame(loop);

			stats.begin();

			controls.update();

			// animate
			for (let i = 0; i < API.dynamic; i++) {
				const mesh = regularMeshes.children[i];
		
				if (!mesh) break;
		
				const rotationSpeed = mesh.userData.rotationSpeed;
				mesh.euler.set(
					mesh.euler.x + rotationSpeed.x,
					mesh.euler.y + rotationSpeed.y,
					mesh.euler.z + rotationSpeed.z
				);
			}

			scene.updateMatrix();

			// sync animations to batched mesh
			for 