renderer = {
const r = new THREE.WebGLRenderer({ antialias: true });
r.setSize(size.w, size.h);
r.setPixelRatio(devicePixelRatio);
r.setClearColor(0xfffef2);
const controls = new OrbitControls(camera, r.domElement);
controls.addEventListener("change", () => r.render(scene, camera));
invalidation.then(() => (controls.dispose(), r.dispose()));
r.render(scene, camera);
return r;
}