{
const renderer = new THREE.WebGLRenderer({ antialias: true });
invalidation.then(() => renderer.dispose());
renderer.setSize(width, height);
renderer.setPixelRatio(devicePixelRatio);
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.addEventListener("change", () => renderer.render(scene, camera));
let off = 0;
const inc = 0.01;
const scale = d3.scaleLinear().domain([-1, 1]).range([0, 1]);
while (true) {
sphere.position.x = scale(simplex.noise3D(off, off, off));
sphere.position.y = scale(simplex.noise3D(off, off * 0.1, off));
sphere.position.z = scale(simplex.noise3D(off, off, off * 0.1));
renderer.render(scene, camera);
yield renderer.domElement;
off += inc;
}
}