n positionShapshots[index];
    },
  };
};

// helpers

const _makeRenderer = () => {
  const scene = new THREE.Scene();
  // scene.background = new THREE.Color(0x7E57C2);
  scene.matrixAutoUpdate = false;

  const camera = new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight, 0.1, 100);
  camera.position.y = 1.6;
  // camera.position.z = 1;

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appen