<!-- SAGA-SOLID · part 34 -->
o fire. */
    plaque(-1200, -990, "FROST PEAKS");

    /* 17. GOLDEN DESERT — Sovereign Deco. The gold standard. */
    plaque(800, 1510, "GOLDEN DESERT");

    /* 18. SHADOW GROVE — The 40 Days of Night. Ended. */
    plaque(-800, 1210, "SHADOW GROVE");

    /* 19. TIDE POOLS — Water. Life. */
    plaque(1200, 310, "TIDE POOLS");

    /* 20. STORM SPIRE — Power. The storm we tamed. */
    plaque(-1500, 10, "STORM SPIRE");

    /* 21. HARMONY GARDENS — Peace. Zen. Balance. */
    plaque(500, -1190, "HARMONY GARDENS");

    /* 22. OBSERVATORY — Looking to the stars. The cosmic. */
    plaque(0, 1510, "OBSERVATORY");

    /* BEACONS — light pillars at each district, visible from afar */
    var districts = [
      [0,0],[8,9],[25,25],[-35,-35],[100,-100],[-100,-100],
      [-150,100],[-200,200],[250,50],[-80,180],[350,-200],[0,-250],
      [1000,1000],[-1000,500],[1500,-800],[-1200,-1000],[800,1500],
      [-800,1200],[1200,300],[-1500,0],[500,-1200],[0,1500]
    ];
    for(var i = 0; i < districts.length; i++){
      (function(){
        var dx = districts[i][0], dz = districts[i][1];
        var beam = new THREE.Mesh(new THREE.CylinderGeometry(2, 2, 500, 8),
          new THREE.MeshBasicMaterial({color: 0xffd700, transparent: true, opacity: 0.3, fog: false}));
        beam.position.set(dx, 250, dz);
        scene.add(beam);
        var ph = Math.random() * 10;
        window._dynamics.push(function(t){
          beam.material.opacity = 0.2 + Math.sin(t * 1.5 + ph) * 0.15;
        });
      })();
    }

  }catch(e){ console.error(e); }
}
if(typeof buildDistrictLore === 'function'){ try{ buildDistrictLore(); }catch(e){ console.error(e); } }

/* HAWAII — Ahupua'a valleys, ocean shoreline, sky ships, snowy peaks. 2026-10-04.
   From his vision. For his home. */
function buildHawaii(){
  try{
    window._dynamics = window._dynamics || [];
    var greenMat = new THREE.MeshStandardMaterial({color: 0x1a5a1a, roughness: 0.9});
    var rockMat = new THREE.MeshStandardMaterial({color: 0x4a4a4a, roughness: 0.95});
    var snowMat = new THREE.MeshStandardMaterial({color: 0xffffff, roughness: 0.3});
    var waterMat = new THREE.MeshStandardMaterial({color: 0x0088cc, transparent: true, opacity: 0.7});
    var sandMat = new THREE.MeshStandardMaterial({color: 0xd4b896, roughness: 1});


  }catch(e){ console.error(e); }
}
if(typeof buildHawaii === 'function'){ try{ buildHawaii(); }catch(e){ console.error(e); } }

/* INFRASTRUCTURE — connecting all districts. Based on real cities.
   Tokyo rings, Dubai viaducts, Singapore green corridors. 2026-10-04. */
function buildInfrastructure(){
  try{
    window._dynamics = window._dynamics || [];
    var goldMat = new THREE.MeshStandardMaterial({color: 0xd4a017, roughness: 0.4, metalness: 0.6});
    var darkMat = new THREE.MeshStandardMaterial({color: 0x1a1a1a, roughness: 0.8});
    var greenMat = new THREE.MeshStandardMaterial({color: 0x1a5a1a, roughness: 0.9});

    /* GOLDEN RING EXPRESSWAY — circular highway (Tokyo Shuto C1) */
    function ringRoad(radius, y, width){
      var ring = new THREE.Mesh(new THREE.RingGeometry(radius - width/2, radius + width/2, 64),
        new THREE.MeshStandardMaterial({color: 0x333333, roughness: 0.8, side: THREE.DoubleSide}));
      ring.rotation.x = -Math.PI/2;
      ring.position.y = y;
      scene.add(ring);
      /* Gold edge lines */
      var edge1 = new THREE.Mesh(new THREE.RingGeometry(radius - width/2, radius - width/2 + 1, 64),
        new THREE.MeshBasicMaterial({color: 0xd4a017, side: THREE.DoubleSide}));
      edge1.rotation.x = -Math.PI/2;
      edge1.position.y = y + 0.1;
      scene.add(edge1);
      var edge2 = new THREE.Mesh(new THREE.RingGeometry(radius + width/2 - 1, radius + width/2, 64),
        new THREE.MeshBasicMaterial({color: 0xd4a017, side: THREE.DoubleSide}));
      edge2.rotation.x = -Math.PI/2;
      edge2.position.y = y + 0.1;
      scene.add(edge2);
    }
    if(!window._skyOnly){ ringRoad(300, 2, 20); }    /* Inner ring — central districts */
    if(!window._skyOnly){ ringRoad(800, 2, 24); }    /* Middle ring */
    if(!window._skyOnly){ ringRoad(1500, 2, 30); }   /* Outer ring — reaches far districts */

    /* MAGLEV LINES — elevated high-speed rail (Dubai viaducts, Chuo Shinkansen) */
    function maglevLine(x1, z1, x2, z2, y){
      var len = Math.sqrt((x2-x1)*(x2-x1) + (z2-z1)*(z2-z1));
      /* Viaduct */
      var via = new THREE.Mesh(new THREE.BoxGeometry(8, 3, len), darkMat);
      via.position.set((x1+x2)/2, y, (z1+z2)/2);
      via.rotation.y = Math.atan2(x2-x1, z2-z1);
      scene.add(via);
      /* Guideway glow */
      var guide = new THREE.Mesh(new THREE.BoxGeometry(2, 0.5, len),
        new THREE.MeshBasicMaterial({color: 0x00ffff}));
      guide.position.set((x1+x2)/2, y + 2, (z1+z2)/2);
      guide.rotation.y = Math.atan2(x2-x1, z2-z1);
      scene.add(guide);
      /* Pillars */
      var pillars = Math.floor(len / 100);
      for(var p = 0; p <= pillars; p++){