JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/87/three.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.6.5/dat.gui.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="design-screen"></div>

JavaScript

var scene, camera, myMesh, myGeo;

var width = window.innerWidth,
  height = (window.innerHeight * 60 / 100);
  
  var objectWidth = 12;

$(document).ready(function (){
	Load();
});

function Load() {
   
  scene = new THREE.Scene();
  scene.fog = new THREE.Fog(0xBBE0FB, 500, 10000);
  // create a camera, which defines where we're looking at.
  camera = new THREE.PerspectiveCamera(45, width / height, 0.1, 1000);

  var light, materials;

  scene.add(new THREE.AmbientLight(0x666666));

  light = new THREE.DirectionalLight(0xdfebff, 1.75);
  light.position.set(50, 200, 100);
  light.position.multiplyScalar(1.3);
  light.castShadow = true;
  light.shadow.mapSize.width = 1024;
  light.shadow.mapSize.height = 1024;

  var d = 300;
  light.shadow.camera.left = -d;
  light.shadow.camera.right = d;
  light.shadow.camera.top = d;
  light.shadow.camera.bottom = -d;
  light.shadow.camera.far = 1000;

  scene.add(light);

  renderer = new THREE.WebGLRenderer();
  renderer.setPixelRatio(window.devicePixelRatio);
  renderer.setSize(width, height);
  renderer.setClearColor(scene.fog.color);

  renderer.gammaInput = true;
  renderer.gammaOutput = true;
  renderer.shadowMap.enabled = true;

  // create a cube and add to scene
  controls = new THREE.OrbitControls(camera, renderer.domElement);


  controls.maxPolarAngle = Math.PI * 0.5;
  controls.enableZoom = false;
  controls.zoomSpeed = 0;
  controls.noZoom = true;

  myGeo = CreateObject();

  myMesh = new THREE.Mesh(myGeo, new THREE.MeshPhongMaterial({
    color: 0x82979e,
    specular: 0x82979e,
    shininess: 100
  }));
  myMesh.name = 'myMesh';
  scene.add(myMesh);

  camera.position.x = -63.34568752955681;
  camera.position.y = 21.686809575802087;
  camera.position.z = 11.969556739130862;

  camera.lookAt(scene.position);

  // add the output of the renderer to the html element
  $('#design-screen').append(renderer.domElement);
  controls = new THREE.OrbitControls(camera, renderer.domElement);

  // call the render...