Code viewer for World: the faze up blocks world

// Cloned by DIT Festival of Knowledge 18 on 7 Jun 2019 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.
 
 
// make an array of random (x,y,z) positions 

const noboxes = 4000;                     // how many boxes to have 
var a = new Array(noboxes);             // array of the box positions

for ( var i=0; i < noboxes; i++ )       // set up the array
{
    a[i] = [ AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500) ];
}       
 

var img;

function preload() 
{
   img = loadImage (  "/uploads/ditfest18/1559901463.png" );

} 

const objectsize    = 400;
const anglechange   = 0.02;     // how much the rotate angle changes each step 

var angle = 0;                  // rotate angle starts at 0  


function setup()        // "setup" is called once at start of run 
{
  createCanvas ( ABWorld.fullwidth(), ABWorld.fullheight(),  WEBGL );
}

function draw()         // "draw" is called every timestep during run 
{
    background ("grey");    // background color 
    fill("navy");               // paint box with this color 
 
 texture(img);        
        

   
           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle);
    rotateZ(angle);
  
   
  for ( var i=0; i < noboxes; i++ )
  {
    translate ( a[i][0], a[i][1], a[i][2] );            // get box position i 
    box(objectsize);             
  }
  
  
    angle = angle + anglechange ;       // change angle each step to get rotate movement        
}