three.js dev template - module

HTML

<div id='container'>
</div>

CSS

body {
	background-color: #000;
	margin: 0px;
	overflow: hidden;
}

JavaScript

import * as THREE from "https://rawgit.com/mrdoob/three.js/dev/build/three.module.js";
import { OrbitControls } from 'https://rawgit.com/mrdoob/three.js/dev/examples/jsm/controls/OrbitControls.js';

var renderer, stats, scene, camera, gui, guiData;
var circle;

init();
requestAnimationFrame(animate);

//

function init() {

  var container = document.getElementById( 'container' );

  //

  camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 1, 1000 );
  camera.position.set( 0, 0, 200 );

  //

  renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setPixelRatio( window.devicePixelRatio );
  renderer.setSize( window.innerWidth, window.innerHeight );
  container.appendChild( renderer.domElement );

  //

  var controls = new OrbitControls( camera, renderer.domElement );
  controls.screenSpacePanning = true;

  //


  //

  window.addEventListener( 'resize', onWindowResize, false );
  
    //

  scene = new THREE.Scene();
  scene.background = new THREE.Color( 0xb0b0b0 );

  //

  var helper = new THREE.GridHelper( 160, 10 );
  helper.rotation.x = Math.PI / 2;
  scene.add( helper );

	const geometry = new THREE.CircleBufferGeometry( 5, 32 );
	const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
	circle = new THREE.Mesh( geometry, material );
  circle.position.set(0, -10, 0);
	scene.add( circle );

}


function onWindowResize() {

  camera.aspect = window.innerWidth / window.innerHeight;
  camera.updateProjectionMatrix();

  renderer.setSize( window.innerWidth, window.innerHeight );

}

function animate(t) {
  requestAnimationFrame( animate );
  
  let start = new THREE.Vector3(0,-10,0);
  let end = new THREE.Vector3(5,-10,0);
  let offset = new THREE.Vector3(0,0,0);
  start.lerp(end, t / 1000).add(offset);


  if (t < 3000) {
    circle.worldToLocal(start);
    console.log(start);
  }
	circle.position.copy(start);

  renderer.render( scene, camera );

}