javascript - Three.js won't render my scene without a ReferenceError? -


i'm making small simple randomly generated maze game, , working fine last session. of sudden when resumed work on trying integrate obj loading, scene no longer render. tried removing literally did before broke, , have odd bug unless have referenceerror in code won't render @ all.

<html> <head>     <title>mazegamer 2.0</title>     <meta charset="utf-8">     <link rel="icon" type="image/png" href="./favicon.png">     <script type="text/javascript" src="js/three.js-master/build/three.js"></script>     <script type="text/javascript" src="js/glcode.js"></script>     <script type="text/javascript" src="js/mazegen.js"></script>     <script type="text/javascript" src="js/tree.js"></script>     <script type="text/javascript" src="js/util.js"></script>     <script type="text/javascript" src="js/scene.js"></script>     <script type="text/javascript" src="js/keypress.js"></script>     <script type="text/javascript" src="js/input.js"></script>     <script type="text/javascript" src="js/main.js"></script>     <style>         body { margin: 0; background-color: black; }         canvas { width: 100%; height: 100%;}     </style> </head> <body>     <script>         var width = 3;         var height = 3;           var scene = new three.scene();         var camera = new three.perspectivecamera( 90, window.innerwidth/window.innerheight, 0.1, 1000 );          var renderer = new three.webglrenderer();         renderer.setsize( window.innerwidth, window.innerheight );         document.body.appendchild( renderer.domelement );          document.body.addeventlistener("keydown",keypress_calls);         renderer.domelement.addeventlistener("click", on_click);         window.addeventlistener("resize",resizewindow);          var web_scene = new scene(scene,camera,renderer,width,height);         scene = web_scene.setup();  //            var billboard; //            for(var = 0; < scene.children.length; i++) //            {  //                if(scene.children[i].name === "billboard") //                {  //                    billboard = scene.children[i];  //                }  //            }          var render = function () {             requestanimationframe( render );             renderer.render(scene, camera);             billboard.rotation.y = camera.rotation.y; //this line 1 determines whether scene renders or not , have no idea why             gamepadinput();         };          render();     </script> </body> 

as can see, commented line should referenceerror since variable using uninstantiated variable, is:

index.html:52 uncaught referenceerror: billboard not defined 

when comment out line though, , have no errors reported in console, scene entirely blank. i'm baffled , flustered beyond reason why happening. suggestions appreciated.

edit #1

//the following in file input.js  var buttonlist = {}; var gamepad;  function gamepadinput(){         if(gamepad === undefined){         gamepad = navigator.getgamepads()[0];     }     if(navigator.getgamepads()[0] !== undefined){         buttonlist.a = gamepad.buttons[0].pressed;         buttonlist.b = gamepad.buttons[1].pressed;         buttonlist.x = gamepad.buttons[2].pressed;         buttonlist.y = gamepad.buttons[3].pressed;         buttonlist.rb = gamepad.buttons[5].pressed;         buttonlist.lb = gamepad.buttons[4].pressed;         buttonlist.rt = gamepad.buttons[7];         buttonlist.lt = gamepad.buttons[6];         buttonlist.l3 = gamepad.buttons[10].pressed;         buttonlist.r3 = gamepad.buttons[11].pressed;         buttonlist.u = gamepad.buttons[12].pressed;         buttonlist.d = gamepad.buttons[13].pressed;         buttonlist.l = gamepad.buttons[14].pressed;         buttonlist.r = gamepad.buttons[15].pressed;         buttonlist.sel = gamepad.buttons[8].pressed;         buttonlist.strt = gamepad.buttons[9].pressed;         buttonlist.lxaxis = (math.abs(gamepad.axes[0]) <= 0.25) ? 0 : gamepad.axes[0];         buttonlist.lyaxis = (math.abs(gamepad.axes[1]) <= 0.25) ? 0 : gamepad.axes[1];         buttonlist.rxaxis = (math.abs(gamepad.axes[2]) <= 0.20) ? 0 : gamepad.axes[2];         buttonlist.ryaxis = (math.abs(gamepad.axes[3]) <= 0.20) ? 0 : gamepad.axes[3];     }      if(buttonlist.rxaxis !== 0)     {         camera.rotation.y += (buttonlist.rxaxis * -0.0625);     }     if(buttonlist.lxaxis !== 0)     {         camera.translatex(buttonlist.lxaxis * 0.0625);     }     if(buttonlist.lyaxis !== 0)     {         camera.translatez(buttonlist.lyaxis * 0.0625);     }     if(buttonlist.d){         console.log("reset");     }     return buttonlist; }; 


Comments