<!-- SOLID CITY · part 1803 -->
 = new T.Mesh(new T.CircleGeometry(5.5, 18), new T.MeshBasicMaterial({ color: 0xeaf6ff, transparent: true, opacity: 0.4, depthWrite: false }));
    foam.rotation.x = -Math.PI / 2; foam.position.set(fx, FLOOR + 0.35, fz); foam.frustumCulled = false; group.add(foam);
    fallMats.push(fm, fm2);
    falls.push({ x: fx, z: fz, top: topY, bottom: botY });
  });
  var RAIN_N = 700, rainPos = new Float32Array(RAIN_N * 3), rainSpd = new Float32Array(RAIN_N);
  for (var rn = 0; rn < RAIN_N; rn++) {
    var rra = R() * Math.PI * 2, rrr = Math.sqrt(R()) * 322;
    rainPos[rn * 3] = CX + Math.cos(rra) * rrr;
    rainPos[rn * 3 + 1] = FLOOR + 6 + R() * (BASE - FLOOR - 12);
    rainPos[rn * 3 + 2] = CZ + Math.sin(rra) * rrr;
    rainSpd[rn] = 38 + R() * 22;
  }
  var rainGeo = new T.BufferGeometry();
  rainGeo.setAttribute('position', new T.BufferAttribute(rainPos, 3));
  var rain = new T.Points(rainGeo, new T.PointsMaterial({ color: 0xa8c8e8, size: 2.1, transparent: true, opacity: 0.45, depthWrite: false }));
  rain.frustumCulled = false; group.add(rain);

  /* ---------- THE KING'S "ALL" (2026-10-14 ~07:14): birds,
   * the Spring Shrine, orchards, and the Star Dome ---------- */
  /* birds on the thermals — one shared body, eleven lives */
  function birdGeometry() {
    var b = new Batch();
    var white = 0xf4f1ea, goldC = 0xd8a833;
    b.add(new T.SphereGeometry(0.5, 8, 6), mat4(0, 0, 0, 0, 0, 0, 0.62, 0.5, 1.5), white);
    b.add(new T.SphereGeometry(0.17, 7, 5), mat4(0, 0.07, 0.78, 0, 0, 0), white);
    b.add(new T.ConeGeometry(0.07, 0.3, 5), mat4(0, 0.04, 1.05, Math.PI / 2, 0, 0), goldC);
    b.add(new T.BoxGeometry(1.0, 0.05, 0.44), mat4(-0.72, 0.1, 0.02, 0, 0, 0.16), white);
    b.add(new T.BoxGeometry(0.6, 0.05, 0.4), mat4(-1.5, 0.19, 0.02, 0, 0, 0.16), goldC);
    b.add(new T.BoxGeometry(1.0, 0.05, 0.44), mat4(0.72, 0.1, 0.02, 0, 0, -0.16), white);
    b.add(new T.BoxGeometry(0.6, 0.05, 0.4), mat4(1.5, 0.19, 0.02, 0, 0, -0.16), goldC);
    b.add(new T.BoxGeometry(0.36, 0.04, 0.34), mat4(0, 0.03, -0.82, 0, 0, 0), white);
    return b.build(new T.MeshLambertMaterial({ vertexColors: true })).geometry;
  }
  var birdGeo = birdGeometry();
  var birds = [];
  for (var bi = 0; bi < 11; bi++) {
    var bm2 = new T.Mesh(birdGeo, new T.MeshLambertMaterial({ vertexColors: true }));
    bm2.scale.setScalar(2.2); bm2.frustumCulled = false; group.add(bm2);
    birds.push({ mesh: bm2, r: 130 + bi * 17, h: 44 + (bi % 4) * 13, ph: bi * 0.57, sp: 0.02 + (bi % 3) * 0.0035 });
  }
  /* the Spring Shrine — an open pavilion at the lake's edge */
  var shA = 3.4, shX = px(27, shA), shZ = pz(27, shA), shY = BASE + crownHeight(27, shA);
  cyl(solid, 4.6, 5.0, 0.3, 14, shX, shY + 0.05, shZ, C.stone);
  for (var sp2 = 0; sp2 < 4; sp2++) {
    var spa = sp2 * Math.PI / 2 + 0.4, spx = shX + Math.cos(spa) * 3.3, spzz = shZ + Math.sin(spa) * 3.3;
    cyl(solid, 0.16, 0.2, 2.7, 6, spx, shY + 1.5, spzz, C.trunk);
    peakSolids.push({ x: spx, z: spzz, w: 0.45, d: 0.45, a: 0, y0: shY, y1: shY + 2.9 });
  }
  cyl(solid, 0.3, 5.4, 1.9, 4, shX, shY + 3.9, shZ, C.stoneDark, 0, Math.PI / 4, 0);
  sph(glow, 0.4, shX, shY + 5.15, shZ, C.gold);
  box(solid, 2.6, 0.42, 0.55, shX, shY + 0.45, shZ, C.trunk);
  /* orchards along the rivers — fruit trees in rows */
  var orchard = 0;
  CROWN_RIVERS.forEach(function (ra) {
    [70, 95, 122, 150, 180, 212, 245, 278].forEach(function (rr, idx) {
      var side = idx % 2 ? 1 : -1;
      var oa = ra + side * (17 / rr), ox = px(rr, oa), oz = pz(rr, oa);
      var oh = crownHeight(rr, oa);
      if (oh > 30) return;
      var gy = BASE + oh;
      cyl(solid, 0.16, 0.24, 2.6, 6, ox, gy + 1.3, oz, C.trunk);
      sph(solid, 2.2, ox, gy + 3.9, oz, C.leaf, 1, 0.85, 1);
      sph(solid, 1.5, ox + 1.2, gy + 3.2, oz + 0.6, C.leafLight, 1, 0.8, 1);
      for (var fr2 = 0; fr2 < 5; fr2++) {
        var fang = fr2 / 5 * Math.PI * 2 + idx;
        sph(glow, 0.27, ox + Math.cos(fang) * 1.9, gy + 3.4 + Math.sin(fr2 * 2.3) * 0.5, oz + Math.sin(fang) * 1.9, 0xe8963c);
      }
      treeSolids.push({ x: ox, z: oz, w: 0.6, d: 0.6, a: 0, y0: gy, y1: gy + 2.6 });
      orchard++;
    });
  });
  /* the Star Dome — a glass observatory on the second peak */
  var domeP = CROWN_PEAKS[1];
  var dX = px(domeP.r, domeP.a), dZ = pz(domeP.r, domeP.a), dY = BASE + crownHeight(domeP.r, domeP.a);
  cyl(solid, 7.5, 8.2, 1.6, 18, dX, dY + 0.8, dZ, C.stone);
  glassB.add(new T.SphereGeometry(6.2, 18, 10, 0, Math.PI * 2, 0, Math.PI / 2), mat4(dX, dY + 1.6, dZ, 0, 0, 0), C.crystal);
  glow.add(new T.TorusGeometry(6.2, 0.14, 5, 28), mat4(dX, dY + 1.65, dZ, Math.PI / 2, 0, 0), C.gold);
  cyl(solid, 0.5, 0.62, 5.2, 8, dX + 1.6, dY + 4.6, dZ, C.silver || 0x9aa4b5, 0, 0, -0.62);
  sph(glow, 0.5, dX - 0.35, dY + 6.6, dZ, C.gold);
  peakSolids.push({ x: dX, z: dZ, w: 15.5, d: 15.5, a: 0, y0: dY - 1, y1: dY + 1.7 });

  /* ---------- THE WORMHOLE (the King's word: "a worm hole
   * to travel to it") — two mouths of gold 