<!-- RUBY-BACKUP · part 300 -->
mCurve3(gpts), 40, 0.06, 4, false);
          var gmesh = new THREE.Mesh(ggeo, goldMat);
          gmesh.name = 'plaza-guilloche';
          scene.add(gmesh);
        }
        /* 2. BUILDING BORDERS — engraved frames on city buildings */
        var bcount = 0;
        scene.traverse(function(o){
          if(o.name && o.name.indexOf('city-bld')===0 && bcount < 30){
            var pos = o.position;
            var w = 8;
            try{ if(o.geometry && o.geometry.parameters) w = o.geometry.parameters.width || 8; }catch(e){}
            /* gold border rectangle on front face */
            var bw = w/2 + 0.2;
            var border = new THREE.Mesh(new THREE.TorusGeometry(bw, 0.05, 4, 4), goldMat);
            border.position.set(pos.x, pos.y, pos.z + w/2 + 0.1);
            border.rotation.z = Math.PI/4;
            border.name = 'building-border';
            scene.add(border);
            bcount++;
          }
        });
      }catch(e){}
    }, 12000);
    /* SOLID BUILDS — gold pillars around plaza using bam logic */
    setTimeout(function(){
      try{
        var goldMat = new THREE.MeshStandardMaterial({color:0xffd700, metalness:0.8, roughness:0.3});
        for(var pi=0; pi<8; pi++){
          var ang = (pi/8)*Math.PI*2;
          var px = Math.cos(ang)*30, pz = Math.sin(ang)*30;
          var py = 10;
          try{ if(typeof fortifiedGroundY==='function') py = fortifiedGroundY(px, pz); }catch(e){}
          /* pillar */
          var pillar = new THREE.Mesh(new THREE.CylinderGeometry(1, 1.2, 20, 8), goldMat);
          pillar.position.set(px, py+10, pz);
          pillar.name = 'solid-pillar-'+pi;
          scene.add(pillar);
          /* capital */
          var cap = new THREE.Mesh(new THREE.BoxGeometry(3, 1, 3), goldMat);
          cap.position.set(px, py+20.5, pz);
          cap.name = 'solid-capital-'+pi;
          scene.add(cap);
        }
      }catch(e){}
    }, 16000);
    /* BOSTON STYLE, OUR GOLD — dome, bridge, common, brownstones, trail */
    setTimeout(function(){
      try{
        var goldMat = new THREE.MeshStandardMaterial({color:0xffd700, metalness:0.85, roughness:0.25});
        var greenMat = new THREE.MeshStandardMaterial({color:0x2d6a2d, roughness:0.9});
        var brickMat = new THREE.MeshStandardMaterial({color:0x8b4513, roughness:0.8});
        var py = 10;
        try{ if(typeof fortifiedGroundY==='function') py = fortifiedGroundY(0, 0); }catch(e){}
        /* 1. GOLDEN DOME — State House style, our crown (at plaza center) */
        var domeBase = new THREE.Mesh(new THREE.CylinderGeometry(8, 10, 6, 12), goldMat);
        domeBase.position.set(0, py+3, 0); domeBase.name='boston-dome-base'; scene.add(domeBase);
        var dome = new THREE.Mesh(new THREE.SphereGeometry(8, 16, 12, 0, Math.PI*2, 0, Math.PI/2), goldMat);
        dome.position.set(0, py+6, 0); dome.name='boston-dome'; scene.add(dome);
        /* 2. CABLE BRIDGE — Zakim style over the river (river approx z=200) */
        var rpy = 10;
        try{ if(typeof fortifiedGroundY==='function') rpy = fortifiedGroundY(0, 200); }catch(e){}
        for(var bi=-1; bi<=1; bi+=2){
          var tower = new THREE.Mesh(new THREE.BoxGeometry(3, 40, 3), goldMat);
          tower.position.set(bi*20, rpy+20, 200); tower.name='boston-bridge-tower'; scene.add(tower);
          /* cables */
          for(var ci=0; ci<6; ci++){
            var cpts = [new THREE.Vector3(bi*20, rpy+38-ci*3, 200), new THREE.Vector3(bi*(20+ci*8), rpy+2, 200)];
            var cgeo = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(cpts), 8, 0.15, 4, false);
            var cable = new THREE.Mesh(cgeo, goldMat); cable.name='boston-cable'; scene.add(cable);
          }
        }
        var deck = new THREE.Mesh(new THREE.BoxGeometry(120, 2, 8), brickMat);
        deck.position.set(0, rpy+2, 200); deck.name='boston-bridge-deck'; scene.add(deck);
        /* 3. GREEN COMMON — park ring around plaza */
        for(var gi=0; gi<16; gi++){
          var gang = (gi/16)*Math.PI*2;
          var gx = Math.cos(gang)*45, gz = Math.sin(gang)*45;
          var gpy = 10;
          try{ if(typeof fortifiedGroundY==='function') gpy = fortifiedGroundY(gx, gz); }catch(e){}
          var tree = new THREE.Mesh(new THREE.ConeGeometry(2, 6, 8), greenMat);
          tree.position.set(gx, gpy+3, gz); tree.name='boston-tree'; scene.add(tree);
        }
        var lawn = new THREE.Mesh(new THREE.CircleGeometry(50, 32), greenMat);
        lawn.rotation.x = -Math.PI/2; lawn.position.set(0, py+0.2, 0); lawn.name='boston-lawn'; scene.add(lawn);
        /* brownstones removed — our buildings only */
        /* 5. FREEDOM TRAIL — gold path connecting landmarks */
        var trailPts = [];
        var landmarks = [[0,0],[30,0],[100,-50],[0,200],[150,150]];
        landmarks.forEach(function(lm){
          trailPts.push(new THREE.Vector3(lm[0], py+0.5, lm[1]));
        });
        var tgeo = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(t