JSFiddle - React, Tailwind, and code Playground

HTML

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style type="text/css" media="screen">
        html,
        body {
            width: 100%;
            height: 100%;
            margin: 0px;
            overflow: hidden;
        }

        canvas {
            width: 100%;
            height: 100%;
        }
    </style>
</head>

<body>


    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/110/three.min.js"></script>

    <script>


        var renderer = new THREE.WebGLRenderer({ preserveDrawingBuffer: true, alpha: true });


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


        renderer.setPixelRatio(window.devicePixelRatio);
        renderer.autoClear = true;

        document.body.appendChild(renderer.domElement);

        var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 400);

        var perspectiveCameraZoom = 1;
        var zoomLevel = 5;
        var cameraZoomLevel = 50;
        var zoomSwap = false;
        var mouseDown = false;
        var scene = new THREE.Scene();
        var textureArray = new Array();
        var pocettilu = 72;
        var tileLine = 12;
        var tileShift = 0;
        var matA = new Map();
        var meshMaterialArray = new Array();
        var planeGeo = new THREE.PlaneGeometry(12, 6, 12, 6);
        var texLoader = new THREE.TextureLoader();
        var tilesInBlock = pocettilu;
        var tilesInRow = tileLine;
        var tileAdjust = 1;
        var triangleFace = 0;
        var horizontalIndex = 0;
        var verticalIndex = 0;
        var offsetposy = 0;
        var calc1 = 0;
        var calc2 = 0;
        var longtile = 15;
        var lattile = 7;

        for (let index = 0; index < tilesInBlock; index++) {
            if (Number.isInteger(index / tilesInRow)...