anchor.diff:          var intersects = raycaster.intersectObjects( scene.children );
   
           if ( intersects.length > 0 ) {
  -
             if ( ROLLOVERED ) ROLLOVERED.color.setHex( 0x00ff80 );
  -
             ROLLOVERED = intersects[ 0 ].face;
             ROLLOVERED.color.setHex( 0xff8000 )
  -
  -        }
  -
  +        }
         }
   
         function onDocumentMouseDown( event ) {
  -
           event.preventDefault();
  -
           var intersects = raycaster.intersectObjects( scene.children );
   
           if ( intersects.length > 0 ) {
  -
             var intersect = intersects[ 0 ];
  -
             if ( isCtrlDown ) {
  -
               if ( intersect.object != plane ) {
  -
                 scene.remove( intersect.object );
  -
               }
  -
  -          } else {
  -
  +          } 
  +          else {
               normalMatrix.getNormalMatrix( intersect.object.matrixWorld );
   
               var normal = intersect.face.normal.clone();
  
positive.code:             voxel.matrixAutoUpdate = false;
              voxel.updateMatrix();
              scene.add( voxel );
  
            }
  
          }
        }
  
        function onDocumentKeyDown( event ) {
  
          switch( event.keyCode ) {
  
            case 16: isShiftDown = true; break;
            case 17: isCtrlDown = true; break;
  
          }
  
        }
  
        function onDocumentKeyUp( event ) {
  
          switch( event.keyCode ) {
  
            case 16: isShiftDown = false; break;
            case 17: isCtrlDown = false; break;
  
          }
        }
  
        function save() {
  
          window.open( renderer.domElement.toDataURL('image/png'), 'mywindow' );
          return false;
  
        }
  
        //
  
        function animate() {
  
          requestAnimationFrame( animate );
  
          render();
        }
  
        function render() {
  
          if ( isShiftDown ) {
  
            theta += mouse2D.x * 3;
  
          }
  
          camera.position.x = 1400 * Math.sin( theta * Math.PI / 360 );
  
negative.code:         scene.add( directionalLight );
  
          renderer = new THREE.CanvasRenderer();
          //renderer.setSize( window.innerWidth, window.innerHeight );
          renderer.setSize(400, 400);
  
          container.appendChild(renderer.domElement); //<canvas>
          $('canvas').attr('id', 'canvas_id')
  
          document.addEventListener( 'mousemove', onDocumentMouseMove, false );
          document.addEventListener( 'mousedown', onDocumentMouseDown, false );
          document.addEventListener( 'keydown', onDocumentKeyDown, false );
          document.addEventListener( 'keyup', onDocumentKeyUp, false );
  
          window.addEventListener( 'resize', onWindowResize, false );
  
        }
  
        function onWindowResize() {
          camera.aspect = window.innerWidth / window.innerHeight;
          camera.updateProjectionMatrix();
          renderer.setSize( window.innerWidth, window.innerHeight );
        }
  
        function onDocumentMouseMove( event ) {
          event.preventDefault();
  
          mouse2D.x = ( event.clientX / window.innerWidth ) * 2 - 1;
  