genMesh = (m)=> {
let retval = "";
let randColorArr = ["hotpink","darkviolet","forestgreen","gold","red","orange","green","blue","white","black","orchid","orangered","skyblue","tan","thistle","grey","yellow","maroon"];
for(let i =0; i < m; i++){
let randX = 5 - Math.random()*10;
let randY = 5 -Math.random()*10;
let randZ = -Math.random()*5;
let randColor = randColorArr[Math.floor(Math.random() * randColorArr.length)];
retval += `<three-mesh
scale="4"
cast-shadow
tick="object.rotation.x = object.rotation.y += 0.01;
object.scale.setScalar(4 + Math.cos(Date.now() / 700) * 0.6)"
position="${randX}, ${randY}, ${randZ}"
>
<three-dodecahedron-buffer-geometry></three-dodecahedron-buffer-geometry>
<three-mesh-standard-material
color="${randColor}"
metalness="0.5"
roughness="0.5"
></three-mesh-standard-material>
</three-mesh>`
}
return retval;
}