JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://preview.babylonjs.com/babylon.js"></script>
<script src="https://pixijs.download/v4.8.2/pixi.min.js"></script>
<canvas id="canvas3d" width='1920px' height='960px'></canvas>
<canvas id="canvas2d" width='1920px' height='960px' style="display: none"></canvas>

JavaScript

var canvas2d = document.getElementById("canvas2d");
var canvas3d = document.getElementById("canvas3d");
var context2d = canvas2d.getContext('2d');

var engine = new BABYLON.Engine(canvas3d, true);
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.ArcRotateCamera("Camera", -Math.PI / 2, Math.PI / 2, 12, BABYLON.Vector3.Zero(), scene);
camera.attachControl(canvas3d, true);

var canvas2dTexture = new BABYLON.HtmlElementTexture("Canvas2DTexture", canvas2d, { scene: scene, engine: engine });

var dome = new BABYLON.PhotoDome(
      "Dome",
      canvas2d.toDataURL('image/jpeg'), {
        resolution: 32,
        size: 300,
        useDirectMapping: true
      },
      scene
    );
 dome.photoTexture = canvas2dTexture;

engine.runRenderLoop(function() {
  scene.render();
  engine.wipeCaches(true);
});

addImage("https://i.ibb.co/8g2Q11F/0.jpg", 0, 0);
addImage("https://i.ibb.co/pJp0br1/1.jpg", 640, 0);
addImage("https://i.ibb.co/xFkxWgQ/2.jpg", 1280, 0);
addImage("https://i.ibb.co/MStPC6D/3.jpg", 0, 320);
addImage("https://i.ibb.co/QXgsvZB/4.jpg", 640, 320);
addImage("https://i.ibb.co/wyzvLFY/5.jpg", 1280, 320);
addImage("https://i.ibb.co/PM0gSSP/6.jpg", 0, 640);
addImage("https://i.ibb.co/ZmK7Yzn/7.jpg", 640, 640);
addImage("https://i.ibb.co/Gp4Zy30/8.jpg", 1280, 640);

function addImage(link, x, y) {
  var image = new Image();
  image.src = link;
  image.crossOrigin = '*'
  image.onload = () => {
    context2d.drawImage(image, x, y);
		canvas2dTexture.update();
  }
}