<!-- SAGA-SOLID · part 89 -->
dx + dz*dz);
      /* Only raise city builds, not mountains or terrain */
      if(dist < cityR && obj.position.y < 50){
        /* Check if it's a building (not a mountain) */
        var isMountain = obj.userData.isSolidTerrain;
        if(!isMountain){
          obj.position.y += liftHeight;
          raised++;
        }
      }
    }
  });
  if(typeof say === 'function') say('City raised: ' + raised + ' structures');
}, 13000);

/* ===== NEW CHILDREN — King's order 2026-10-06 ===== */

/* ===== FRESH MOUNTAINS — Full map, random, no hindering. King's order 2026-10-06 ===== */
setTimeout(function freshMountains(){
  return; /* DISABLED — v157 restored */
  var seed = 777;
  function rnd(){ seed = (seed * 16807) % 2147483647; return (seed - 1) / 2147483646; }
  var greenMat = new THREE.MeshStandardMaterial({color: 0x3a7a3a, roughness: 0.9});
  /* Full map: -6000 to 6000 */
  for(var i = 0; i < 60; i++){
    var px = (rnd() * 12000) - 6000;
    var pz = (rnd() * 12000) - 6000;
    var pr = 80 + rnd() * 120;
    var ph = 120 + rnd() * 180;
    var sides = 7 + Math.floor(rnd() * 6);
    var geo = new THREE.ConeGeometry(pr, ph, sides, 8);
    /* Carve */
    var pp = geo.attributes.position;
    for(var vi = 0; vi < pp.count; vi++){
      var vx = pp.getX(vi), vy = pp.getY(vi), vz = pp.getZ(vi);
      var nz = Math.sin(vx * 0.05) * Math.cos(vz * 0.05) * 8;
      var len = Math.sqrt(vx*vx + vz*vz);
      if(len > 0.01){
        var s = 1 + nz / len * 0.4;
        pp.setX(vi, vx * s);
        pp.setZ(vi, vz * s);
      }
      /* Dome */
      var hN = (vy + ph/2) / ph;
      if(hN > 0.85){
        var dF = (hN - 0.85) / 0.15;
        pp.setY(vi, vy - dF * dF * ph * 0.15);
      }
    }
    geo.computeVertexNormals();
    var mtn = new THREE.Mesh(geo, greenMat);
    /* Flatten under city (100, -100) */
    var cdx = px - 100, cdz = pz - (-100);
    if(Math.sqrt(cdx*cdx + cdz*cdz) < 400){
      mtn.scale.y = 0.05; /* Flattened */
    }
    mtn.position.set(px, ph/2, pz);
    mtn.userData.isSolidTerrain = true;
    scene.add(mtn);
  }
  if(typeof say === 'function') say('Fresh mountains: 60 random');
}, 3000);

window.__sagaExecMark('L7850');

/* ===== VOLCANO BACKDROP MOUNTAINS — King's order 2026-10-06 ===== */
setTimeout(function volcanoMountains(){
  return; /* DISABLED 2026-10-07 — late mountain clear, King's word */
  var greenMat = new THREE.MeshStandardMaterial({color: 0x3a7a3a, roughness: 0.9});
  var volcanoes = [[2000, 1920], [-2000, 1920]];
  var seed = 999;
  function rnd(){ seed = (seed * 16807) % 2147483647; return (seed - 1) / 2147483646; }
  volcanoes.forEach(function(v){
    var vx = v[0], vz = v[1];
    /* Behind = further from center (0,0) */
    for(var i = 0; i < 8; i++){
      var ang = Math.atan2(vz, vx) + (rnd() - 0.5) * 1.0; /* Behind volcano */
      var dist = 800 + rnd() * 800;
      var px = vx + Math.cos(ang) * dist;
      var pz = vz + Math.sin(ang) * dist;
      var pr = 100 + rnd() * 100;
      var ph = 150 + rnd() * 150;
      var geo = new THREE.ConeGeometry(pr, ph, 10, 6);
      var pp = geo.attributes.position;
      for(var vi = 0; vi < pp.count; vi++){
        var vy = pp.getY(vi);
        var hN = (vy + ph/2) / ph;
        if(hN > 0.85){
          var dF = (hN - 0.85) / 0.15;
          pp.setY(vi, vy - dF * dF * ph * 0.15);
        }
      }
      geo.computeVertexNormals();
      var mtn = new THREE.Mesh(geo, greenMat);
      mtn.position.set(px, ph/2, pz);
      solidifyTerrain(mtn);
      scene.add(mtn);
    }
  });
  if(typeof say === 'function') say('Volcano backdrop set');
}, 4000);

window.__sagaExecMark('L7890');

/* ===== SPACE AGE CITY — King's order 2026-10-06 ===== */
setTimeout(function spaceAgeCity(){
  var cityX = 100, cityZ = -100;
  var seed = 4242;
  function rnd(){ seed = (seed * 16807) % 2147483647; return (seed - 1) / 2147483646; }
  /* Scale up existing city structures */
  var scaled = 0;
  scene.traverse(function(obj){
    if(obj.isMesh){
      var dx = obj.position.x - cityX;
      var dz = obj.position.z - cityZ;
      if(Math.sqrt(dx*dx + dz*dz) < 300 && obj.position.y < 100){
        /* Don't scale mountains */
        if(!obj.userData.isSolidTerrain && obj.geometry.type === 'BoxGeometry'){
          obj.scale.multiplyScalar(2.5);
          scaled++;
        }
      }
    }
  });
  /* Add space-age towers */
  var towerMat = new THREE.MeshStandardMaterial({color: 0xc0c0c0, metalness: 0.8, roughness: 0.2});
  var glowMat = new THREE.MeshStandardMaterial({color: 0x00ffff, emissive: 0x00ffff, emissiveIntensity: 0.8});
  for(var i = 0; i < 20; i++){
    var ang = rnd() * Math.PI * 2;
    var dist = 100 + rnd() * 200;
    var tx = cityX + Math.cos(ang) * dist;
    var tz = cityZ + Math.sin(ang) * dist;
    var th = 80 + rnd() * 120;
    var tower = new THREE.Mesh(new THREE.CylinderGeometry(8, 12, th, 8), towerMat);
    tower.position.set(tx, th/2, tz);
    scene.add(tower);
    /* Glowing top */
    var tip = new THRE