;
				group.add( child );

			}

			scene.add( group );

		}

		async function init( forceWebGL = false ) {

			const count = api.count / ( api.webgpu ? 1 : 10 );

			renderTimeAverages = [];

			if ( renderer ) {

				renderer.dispose();
				controls.dispose();
				document.body.removeChild( stats.dom );
				document.body.removeChild( renderer.domElement );

			}

			// camera

			const aspect = window.innerWidth / window.innerHeight;

			camera = new THREE.PerspectiveCamera( 70, aspect, 1, 100 );
			camer