<!-- RUBY-BACKUP · part 526 -->
     var ppy = 10;
        try{ if(typeof fortifiedGroundY==='function') ppy = fortifiedGroundY(-100, 100); }catch(e){}
        var park = new THREE.Mesh(new THREE.BoxGeometry(80, 1, 120), greenMat);
        park.position.set(-100, ppy+0.5, 100); park.name='nyc-park'; scene.add(park);
        for(var pt=0; pt<20; pt++){
          var ptx = -100 + (Math.random()-0.5)*70, ptz = 100 + (Math.random()-0.5)*110;
          var tpy = 10;
          try{ if(typeof fortifiedGroundY==='function') tpy = fortifiedGroundY(ptx, ptz); }catch(e){}
          var ptree = new THREE.Mesh(new THREE.ConeGeometry(2, 7, 8), greenMat);
          ptree.position.set(ptx, tpy+3.5, ptz); ptree.name='nyc-parktree'; scene.add(ptree);
        }
        /* 3. SUSPENSION BRIDGE — Brooklyn style (at z=-200) */
        var bpy = 10;
        try{ if(typeof fortifiedGroundY==='function') bpy = fortifiedGroundY(0, -200); }catch(e){}
        for(var st=-1; st<=1; st+=2){
          var stower = new THREE.Mesh(new THREE.BoxGeometry(6, 35, 4), stoneMat);
          stower.position.set(st*40, bpy+17, -200); stower.name='nyc-bridge-tower'; scene.add(stower);
        }
        /* main cables — parabolic */
        for(var sd=-1; sd<=1; sd+=2){
          var scpts = [];
          for(var sp=0; sp<=20; sp++){
            var st2 = sp/20;
            var sx = -80 + st2*160;
            var sy = bpy + 32 - Math.sin(st2*Math.PI)*28;
            scpts.push(new THREE.Vector3(sx, sy, -200 + sd*3));
          }
          var scgeo = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(scpts), 20, 0.3, 4, false);
          var scable = new THREE.Mesh(scgeo, goldMat); scable.name='nyc-cable'; scene.add(scable);
        }
        var sdeck = new THREE.Mesh(new THREE.BoxGeometry(170, 2, 10), stoneMat);
        sdeck.position.set(0, bpy+4, -200); sdeck.name='nyc-bridge-deck'; scene.add(sdeck);
        /* 4. LIGHT DISTRICT — Times Square glow (at x=100, z=100) */
        var lpy = 10;
        try{ if(typeof fortifiedGroundY==='function') lpy = fortifiedGroundY(100, 100); }catch(e){}
        for(var lb=0; lb<4; lb++){
          var blb = new THREE.Mesh(new THREE.BoxGeometry(10, 20, 10), stoneMat);
          blb.position.set(100+(lb%2)*15, lpy+10, 100+Math.floor(lb/2)*15);
          blb.name='nyc-billboard-bld'; scene.add(blb);
          var board = new THREE.Mesh(new THREE.PlaneGeometry(8, 6), lb%2?neonMat:cyanMat);
          board.position.set(100+(lb%2)*15, lpy+15, 100+Math.floor(lb/2)*15+5.1);
          board.name='nyc-billboard'; scene.add(board);
        }
        /* 5. LIBERTY — our statue in the harbor (at x=200, z=300) */
        var hpy = 10;
        try{ if(typeof fortifiedGroundY==='function') hpy = fortifiedGroundY(200, 300); }catch(e){}
        var pedestal = new THREE.Mesh(new THREE.BoxGeometry(10, 15, 10), stoneMat);
        pedestal.position.set(200, hpy+7.5, 300); pedestal.name='nyc-liberty-base'; scene.add(pedestal);
        var body = new THREE.Mesh(new THREE.CylinderGeometry(3, 4, 20, 8), goldMat);
        body.position.set(200, hpy+25, 300); body.name='nyc-liberty-body'; scene.add(body);
        var torch = new THREE.Mesh(new THREE.SphereGeometry(2, 10, 8), cyanMat);
        torch.position.set(200, hpy+38, 300); torch.name='nyc-liberty-torch'; scene.add(torch);
      }catch(e){}
    }, 24000);
    /* FUTURISTIC LAYER — holograms, beams, floating rings */
    setTimeout(function(){
      try{
        var goldMat = new THREE.MeshStandardMaterial({color:0xffd700, metalness:0.85, roughness:0.25});
        var holoMat = new THREE.MeshBasicMaterial({color:0x00ffff, transparent:true, opacity:0.3});
        var beamMat = new THREE.MeshBasicMaterial({color:0xffd700, transparent:true, opacity:0.4});
        var py = 10;
        try{ if(typeof fortifiedGroundY==='function') py = fortifiedGroundY(0, 0); }catch(e){}
        /* holographic rings floating above the dome */
        for(var hr=0; hr<3; hr++){
          var hring = new THREE.Mesh(new THREE.TorusGeometry(15+hr*8, 0.3, 8, 48), holoMat);
          hring.position.set(0, py+30+hr*10, 0);
          hring.rotation.x = Math.PI/2;
          hring.name = 'future-holoring';
          scene.add(hring);
        }
        /* light beams shooting up from each pillar */
        for(var pb=0; pb<8; pb++){
          var pang = (pb/8)*Math.PI*2;
          var ppx = Math.cos(pang)*30, ppz = Math.sin(pang)*30;
          var ppy = 10;
          try{ if(typeof fortifiedGroundY==='function') ppy = fortifiedGroundY(ppx, ppz); }catch(e){}
          var beam = new THREE.Mesh(new THREE.CylinderGeometry(0.5, 0.5, 60, 8), beamMat);
          beam.position.set(ppx, ppy+30, ppz);
          beam.name = 'future-beam';
          scene.add(beam);
        }
        /* glowing pulse ring around the dome base */
        var pulse = new THREE.Mesh(new THREE.TorusGeometry(12, 0.5, 8, 48), goldMat);
        pulse.position.set(0, py+1, 0);
        pulse.rotation.x = Math.PI/2;
        pulse.name = 'future-pulse';