<!-- LIVE · part 89 -->
h.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(){
  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 THREE.Mesh(new THREE.SphereGeometry(6, 12, 12), glowMat);
    tip.position.set(tx, th + 5, tz);
    scene.add(tip);
  }
  if(typeof say === 'function') say('Space Age: ' + scaled + ' scaled, 20 towers');
}, 6000);

window.__sagaExecMark('L7930');

/* ===== MASSIVE UPGRADE — End to end. King's order 2026-10-06 ===== */
setTimeout(function massiveUpgrade(){
  var cityX = 100, cityZ = -100;
  var seed = 8888;
  function rnd(){ seed = (seed * 16807) % 2147483647; return (seed - 1) / 2147483646; }
  /* 1. City: triple the towers */
  var towerMat = new THREE.MeshStandardMaterial({color: 0xd0d0d0, metalness: 0.9, roughness: 0.15});
  var glowCyan = new THREE.MeshStandardMaterial({color: 0x00ffff, emissive: 0x00ffff, emissiveIntensity: 1.0});
  var glowGold = new THREE.MeshStandardMaterial({color: 0xffd700, emissive: 0xffd700, emissiveIntensity: 0.8});
  for(var i = 0; i < 80; i++){ /* Doubled */
    var ang = rnd() * Math.PI * 2;
    var dist = 50 + rnd() * 350;
    var tx = cityX + Math.cos(ang) * dist;
    var tz = cityZ + Math.sin(ang) * dist;
    var th = 500 + rnd() * 1000; /* HUGE */
    var tw = 40 + rnd() * 60; /* WIDE */
    var tower = new THREE.Mesh(new THREE.CylinderGeometry(tw*0.7, tw, th, 10), towerMat);
    tower.position.set(tx, th/2, tz);
    scene.add(tower);
    var tipMat = (i % 2 === 0) ? glowCyan : glowGold;
    var tip = new THREE.Mesh(new THREE.SphereGeometry(tw*0.5, 12, 12