JSFiddle - React, Tailwind, and code Playground

HTML

<html>
<body>
<script>
var renderer;
var scene;
var camera;
var controls;
var radius = 200;

window.onload = function()
{
    init();
    animate();
}

function init()
{
    renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);

    // scene
    scene = new THREE.Scene();

    // camera
    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
    camera.position.z = 700;
    scene.add(camera);

    // add directional light source
    var directionalLight = new THREE.DirectionalLight(0xffffff);
    directionalLight.position.set(1, 1, 1).normalize();
    scene.add(directionalLight);

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

    // controls
    controls = new THREE.TrackballControls( camera, renderer.domElement );
    controls.rotateSpeed = 1.0;
    controls.zoomSpeed = 1.2;
    controls.panSpeed = 0.2
    controls.noZoom = false;
    controls.noPan = false;
    controls.staticMoving = false;
    controls.dynamicDampingFactor = 0.3;
    controls.minDistance = radius * 1.1;
    controls.maxDistance = radius * 100;
    controls.keys = [ 65, 83, 68 ];

    addPoint(37.778, -122.452);
    addPoint(51.517, 0.119);
    addPoint(-33.8744, 151.2079);
    addPoint(14.604, 120.990);
    addPoint(-34.592, -58.412);
};

function onWindowResize( event )
{
    width = window.innerWidth;
    height = window.innerHeight;

    renderer.setSize( width, height );

    camera.aspect = width / height;
    camera.updateProjectionMatrix();

    controls.screen.width = width;
    controls.screen.height = height;

    camera.radius = ( width + height ) / 4;
};

function animate()
{
    requestAnimationFrame( animate );

    controls.update();

    renderer.clear();
    renderer.render( scene, camera );
};

function addPoint(lat, lng)
{
    var phi = (90-lat) * Math.PI / 180;
    var theta = (360-lng) * Math.PI /...