<!-- SAGA · part 30 -->
2e)},
        midColor: {value: new THREE.Color(0x1a1a4e)},
        botColor: {value: new THREE.Color(0xd4a017)}
      },
      vertexShader: `
        varying vec3 vPos;
        void main(){
          vPos = position;
          gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
        }
      `,
      fragmentShader: `
        uniform vec3 topColor;
        uniform vec3 midColor;
        uniform vec3 botColor;
        varying vec3 vPos;
        void main(){
          float h = normalize(vPos).y;
          vec3 col;
          if(h > 0.2){
            col = mix(midColor, topColor, smoothstep(0.2, 0.8, h));
          } else {
            col = mix(botColor, midColor, smoothstep(-0.1, 0.2, h));
          }
          gl_FragColor = vec4(col, 1.0);
        }
      `
    });
    var skyDome = new THREE.Mesh(skyGeo, skyMat);
    scene.add(skyDome);
    /* Remove the old black background */
    scene.background = null;

    /* SUN — warm gold, low on horizon */
    var sun = new THREE.Mesh(new THREE.SphereGeometry(30, 24, 18),
      new THREE.MeshBasicMaterial({color: 0xffd700, fog: false}));
    sun.position.set(400, 80, -600);
    scene.add(sun);
    var sunGlow = new THREE.Mesh(new THREE.SphereGeometry(45, 24, 18),
      new THREE.MeshBasicMaterial({color: 0xffd700, transparent: true, opacity: 0.3, fog: false}));
    sunGlow.position.copy(sun.position);
    scene.add(sunGlow);

    /* MOON — pale, opposite */
    var moon = new THREE.Mesh(new THREE.SphereGeometry(20, 24, 18),
      new THREE.MeshBasicMaterial({color: 0xe8e8ff, fog: false}));
    moon.position.set(-400, 200, 500);
    scene.add(moon);

  }catch(e){}
}
if(typeof buildBeautifulSky === 'function'){ window._buildQueue.push(buildBeautifulSky); }

/* FUTURISTIC HYPER-REALISTIC SUPER HERO — with tactical ultra-dense intaglio linework. 2026-10-04. */
function buildFuturistic(){
  try{
    window._dynamics = window._dynamics || [];

    /* INTAGLIO TEXTURE — ultra-dense linework, from our codes */
    function makeIntaglioTexture(){
      var c = document.createElement('canvas');
      c.width = 256; c.height = 256;
      var ctx = c.getContext('2d');
      ctx.fillStyle = '#1a1a1a';
      ctx.fillRect(0, 0, 256, 256);
      ctx.strokeStyle = '#d4a017';
      ctx.lineWidth = 0.5;
      /* Ultra-dense crosshatch */
      for(var i = 0; i < 256; i += 4){
        ctx.beginPath(); ctx.moveTo(i, 0); ctx.lineTo(i, 256); ctx.stroke();
        ctx.beginPath(); ctx.moveTo(0, i); ctx.lineTo(256, i); ctx.stroke();
      }
      /* Diagonal */
      ctx.strokeStyle = '#8a6a1c';
      for(var j = -256; j < 256; j += 6){
        ctx.beginPath(); ctx.moveTo(j, 0); ctx.lineTo(j + 256, 256); ctx.stroke();
      }
      var tex = new THREE.CanvasTexture(c);
      tex.wrapS = tex.wrapT = THREE.RepeatWrapping;
      return tex;
    }
    var intaglioTex = makeIntaglioTexture();
    var intaglioMat = new THREE.MeshStandardMaterial({map: intaglioTex, roughness: 0.5, metalness: 0.7});

    /* FUTURISTIC DISTRICT — neon towers */
    var fx = 350, fz = -200;
    for(var t = 0; t < 15; t++){
      var tx = fx + (Math.random() - 0.5) * 120;
      var tz = fz + (Math.random() - 0.5) * 120;
      var th = 30 + Math.random() * 40;
      /* Tower with intaglio */
      var tower = new THREE.Mesh(new THREE.BoxGeometry(10, th, 10), intaglioMat);
      tower.position.set(tx, th/2 + 0.13, tz);
      scene.add(tower);
      /* Neon edge glow */
      var edge = new THREE.Mesh(new THREE.BoxGeometry(10.5, 1, 10.5),
        new THREE.MeshBasicMaterial({color: 0x00ffff}));
      edge.position.set(tx, th + 0.5, tz);
      scene.add(edge);
      /* Holographic top */
      var holo = new THREE.Mesh(new THREE.ConeGeometry(6, 12, 4),
        new THREE.MeshBasicMaterial({color: 0x00ffff, transparent: true, opacity: 0.2, wireframe: true}));
      holo.position.set(tx, th + 8, tz);
      scene.add(holo);
      window._dynamics.push((function(h){
        return function(t){ h.rotation.y += 0.01; };
      })(holo));
    }

    /* SUPER HERO MONUMENT — epic scale figure */
    var heroG = new THREE.Group();
    var hx = 0, hz = -250;
    var heroMat = new THREE.MeshStandardMaterial({color: 0x2a2a3a, roughness: 0.4, metalness: 0.8});
    /* Colossal legs */
    for(var leg = 0; leg < 2; leg++){
      var legMesh = new THREE.Mesh(new THREE.CylinderGeometry(4, 5, 40, 8), heroMat);
      legMesh.position.set(hx + (leg === 0 ? -6 : 6), 20, hz);
      heroG.add(legMesh);
    }
    /* Torso */
    var torso = new THREE.Mesh(new THREE.BoxGeometry(20, 30, 12), intaglioMat);
    torso.position.set(hx, 55, hz);
    heroG.add(torso);
    /* Head */
    var head = new THREE.Mesh(new THREE.SphereGeometry(8, 16, 12), heroMat);
    head.position.set(hx, 78, hz);
    heroG.add(head);
    /* Cape — flowing */
    var cape = new THREE.Mesh(new THREE.PlaneGeometry(24, 50, 8, 8),
      new THREE.MeshStandardMaterial({color: 0x8a0a0a, side: THREE.DoubleSide, roughness: 0.8}));