<!-- SOLID CITY · part 2627 -->
= new T.Matrix4();
    standQuad(cx, TOP + 0.16, cz, ry, 0, 13.2, 6.6, 0.05);
    function grassRamp(x0, z0, y0, x1, z1, y1) {
      var len = Math.hypot(x1 - x0, z1 - z0), n = Math.max(1, Math.round(len / 1.6)), ang = Math.atan2(x1 - x0, z1 - z0), run = len / n;
      for (var j = 0; j < n; j++) {
        var ga = y0 + (y1 - y0) * (j / n), gb = y0 + (y1 - y0) * ((j + 1) / n);
        var px = x0 + (x1 - x0) * ((j + 0.5) / n), pz = z0 + (z1 - z0) * ((j + 0.5) / n);
        var prx = -Math.atan2(gb - ga, run);
        BASE = M4(px, (ga + gb) / 2 - 0.02, pz, ang, prx, 0);
        box(solid, 5.2, 0.3, run + 0.5, 0, 0, 0, C.lawn);
        standQuad(px, (ga + gb) / 2 - 0.02, pz, ang, prx, 5.2, run + 0.5, 0.17);
        BASE = new T.Matrix4();
      }
    }
    var rA0 = [cx - s.rx * 10.5, cz - s.rz * 10.5], rA1 = [cx - s.rx * 6.55, cz - s.rz * 6.55];
    grassRamp(rA0[0], rA0[1], groundAt(rA0[0], rA0[1]) + 0.1, rA1[0], rA1[1], TOP + 0.16);
    var rB0 = [cx + s.rx * 6.55, cz + s.rz * 6.55], rB1 = [cx + s.rx * 12.5, cz + s.rz * 12.5];
    grassRamp(rB0[0], rB0[1], TOP + 0.16, rB1[0], rB1[1], groundAt(rB1[0], rB1[1]) + 0.1);
    foot.push([eA[0], eA[1], 2.3, 6.4, gA, TOP - SLAB, ry]);
    foot.push([eB[0], eB[1], 2.3, 6.4, gB, TOP - SLAB, ry]);
    /* the deck's body rides in two halves at the grass width: a
     * single 13.6 m entry's bounding corners fattened in the
     * placer's split until one grazed the descending road beside
     * the bridge (0.78 m, measured) — the road there runs level
     * with the deck, and only the true rectangle may speak */
    foot.push([cx - s.rx * 3.4, cz - s.rz * 3.4, 6.8, 6.6, TOP - 0.95, TOP + 0.16, ry]);
    foot.push([cx + s.rx * 3.4, cz + s.rz * 3.4, 6.8, 6.6, TOP - 0.95, TOP + 0.16, ry]);
    if (typeof document === 'undefined' || !document.createElement) return;
    try {
      var cv = document.createElement('canvas'); cv.width = 1024; cv.height = 224;
      var c2 = cv.getContext('2d');
      c2.fillStyle = '#23272e'; c2.fillRect(0, 0, 1024, 224);
      c2.strokeStyle = '#c9a44a'; c2.lineWidth = 6; c2.strokeRect(12, 12, 1000, 200);
      c2.fillStyle = '#e8c86a'; c2.textAlign = 'center'; c2.textBaseline = 'middle';
      c2.font = 'bold 148px Georgia, serif';
      c2.fillText('SOLID', 512, 118);
      var tex = new T.CanvasTexture(cv);
      [1, -1].forEach(function (sgn) {
        var m = new T.Mesh(new T.PlaneGeometry(3.4, 0.74), new T.MeshBasicMaterial({ map: tex, side: T.DoubleSide }));
        m.position.set(cx + s.fx * sgn * 3.53, TOP - 0.55, cz + s.fz * sgn * 3.53);
        m.rotation.y = sgn > 0 ? ry : ry + Math.PI;
        extras.push(m);
      });
    } catch (e) {}
  }
  buildRoads();
  compound(700, -1290, "THE GATE ROAD 'OHANA", 'plantation', ['waa', 'noa', 'plantation']);
  compound(880, -1180, "THE EAST PLAIN 'OHANA", 'plantation', ['dickey', 'waa', 'noa']);
  compound(-480, -1150, "THE SHORE ROAD 'OHANA", 'dickey', ['noa', 'plantation', 'waa']);
  singles(560, -1330, 'THE MERIDIAN BENCHES', 6, ['plantation', 'noa', 'waa', 'dickey']);
  compound(1080, -1620, 'THE EASTERN BENCHES', 'dickey', ['plantation', 'waa', 'mission'], { ring: 33 });
  singles(1270, -1560, 'THE HIGH BENCHES', 6, ['dickey', 'plantation', 'noa']);
  singles(950, -1830, 'THE OVERLOOK BENCHES', 4, ['waa', 'dickey', 'plantation']);
  singles(790, -1900, 'THE EAST CLIMB HOMES', 4, ['plantation', 'waa', 'noa']);
  compound(660, -2080, 'THE NORTH BENCHES', 'plantation', ['waa', 'plantation', 'noa']);
  singles(430, -2330, 'THE COLOSSEUM ROAD HOMES', 7, ['plantation', 'dickey', 'noa', 'waa']);
  compound(470, -2430, "THE FAR NORTH 'OHANA", 'noa', ['waa', 'plantation', 'noa']);
  singles(-350, -1080, 'THE WESTERN BENCHES', 5, ['noa', 'plantation', 'waa'], 100);
  // the base flats — two small apartment blocks where the ground gentles
  var aptSites = [[705, -1005, -Math.PI / 2], [-625, -1155, Math.PI / 2], [820, -1120, -Math.PI / 2]];
  for (var ai = 0; ai < aptSites.length && homes.filter(function (h) { return h.style === 'apartment'; }).length < 2; ai++) {
    var as = aptSites[ai];
    if (benchAt(as[0], as[1], 16) >= 0 && clearOf(as[0], as[1], 20) && roadClear(as[0], as[1], 16)) {
      var arec = buildApartment(as[0], as[1], as[2]);
      placed.push([as[0], as[1], 26]);
      serveApartment(arec);
      dressHome({ x: as[0], z: as[1], ry: as[2], w: 27, d: 11, lanaiDepth: 0 }, { palm: true });
    }
  }
  var treeCount = scatterTrees(130);
  buildPlates();
  /* THE RAILS STAND DOWN (the King's word, 2026-10-14 ~00:57):
   * collision on the roads, banks and slopes — but NOT the rails.
   * railBodies() stands uncalled below as the record of the era
   * when the rails were felt; a car on a hairpin brushed them
   * (the body gate's worst push, 0.74 m, was a rail). The rails
   * are seen now, not felt. */
  roadBodies();
  buildSolidBridge();

  /* ================= ASSEMBLY ================= */
  var group = new T.Group();
  group.add(solid.build(new