JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en">

	<body>

		<div id="container"></div>

		<div id="info">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/89/three.min.js"></script>

    <input type="button" onClick="go()" value="start"></input>
    <input type="button" onClick="stop()" value="stop"></input>
    <div><span>Y height = </span><span id="yheight"></span></div>
		<script>


      let SPEED = .15
      let mixer
      let gui = document.getElementById('yheight')
      let clock = new THREE.Clock()
      // Create an empty scene
      var scene = new THREE.Scene();


      // Create a basic perspective camera
      var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
      camera.position.set(300,10,300)
      camera.lookAt(0,0,0)

      // Create a renderer with Antialiasing
      var renderer = new THREE.WebGLRenderer({antialias:true});

      // Configure renderer clear color
      renderer.setClearColor("#ffffff");

      // Configure renderer size
      renderer.setSize( window.innerWidth, window.innerHeight );

      // Append Renderer to DOM
      document.body.appendChild( renderer.domElement );

      var machineMaterial = new THREE.MeshNormalMaterial({ color: 0x000088, transparent: true, opacity: 0.5, depthWrite: false })

      var pole = new THREE.BoxGeometry(10, 10, 100)
      let onefifty = new THREE.Mesh( pole, machineMaterial );
      onefifty.position.set(0, -150, 100)
      scene.add(onefifty)

      let zero = new THREE.Mesh( pole, machineMaterial );
      zero.position.set(0, 0, 100)
      scene.add(zero)

      var sphereGeo = new THREE.SphereGeometry( 5, 32, 32 )

      var geo = new THREE.BoxGeometry(150, 150, 150)
      let readMat = new THREE.Mesh( geo, machineMaterial )
      readMat.name = 'machine-read'
      readMat.position.set(0, 0, 0)
      scene.add(readMat)
      let machineRead = scene.getObjectByName('machine-read')

      function asyncAnimate(tracks) {
        return new...