Code viewer for World: Three.js test

// Cloned by Josh W on 27 Sep 2022 from World "One Cube World (Three.js)" by Starter user 
// Please leave this clone trail here.

const MUSICFILE = '/uploads/starter/SuspenseStrings.mp3';
AB.backgroundMusic ( MUSICFILE );

const skycolor          = 'RebeccaPurple';           
const boxcolor          = 'Purple';

const objectsize    = 400;                  // size of object   

const startRadius   = 1000;                 // distance from centre we start the camera at

const maxRadius     = startRadius * 10;     // maximum distance from camera we render things 


// the object is a cube (each dimension equal): 
  
var shape       = new THREE.BoxGeometry ( objectsize, objectsize, objectsize );
var material    = new THREE.MeshBasicMaterial ( { color: boxcolor.toLowerCase() } );
var theobject   = new THREE.Mesh ( shape, material );


// Define what the World does at the start of a run: 

AB.world.newRun = function() 
{
     const texturefile  = '/uploads/wardides/herrscher_of_humanity.jpg';
     var   loader       = new THREE.TextureLoader();
 
     loader.load ( texturefile, function ( thetexture ) 
     // this defines a function to be called whenever the file is loaded 
    {			 
        thetexture.minFilter  = THREE.LinearFilter;
        theobject.material    = new THREE.MeshBasicMaterial ( { map: thetexture } );
    }); 

    
    // start a 3D scene: 
    ABWorld.init3d ( startRadius, maxRadius, skycolor ); 

    // add the object to the scene:
    ABWorld.scene.add ( theobject );
};

AB.world.nextStep = function()
{
    theobject.position.x = theobject.position.x + AB.randomIntAtoB ( -90, 90 );
    theobject.position.y = theobject.position.y + AB.randomIntAtoB ( -90, 90 );
    theobject.position.z = theobject.position.z + AB.randomIntAtoB ( -90, 90 );
};