<!-- SOLID CITY · part 3650 -->
 mask's band ends at 11.5 and this
    // road lawfully climbs past it): SURVEYED_W7_CORRIDOR — corridor-bound at 3.4 m, ceiling 22.30 — the corridor's sampled
    // terrain max is 21.98, and the merge blend lawfully rises to the disc's ground-equivalent 22.194. The junction disc floats 0.30 above its ground (22.269 over
    // 21.97), so the last ten metres ride a surveyed ground blend up to the disc's own height and the
    // ribbon's last metre overlaps the disc at equal height — a merge, in the apron's idiom.
    var W7_LINE = [[-1160, -350], [-1050, -370], [-950, -395], [-860, -420], [-780, -450], [-720, -475], [-680, -492], [-672, -498]];
    function distToW7(x, z) { var best = 1e9; for (var i = 0; i + 1 < W7_LINE.length; i++) { var ax = W7_LINE[i][0], az = W7_LINE[i][1], bx = W7_LINE[i + 1][0], bz = W7_LINE[i + 1][1], dx = bx - ax, dz = bz - az, L2 = dx * dx + dz * dz, t = L2 ? ((x - ax) * dx + (z - az) * dz) / L2 : 0; t = Math.max(0, Math.min(1, t)); var d = Math.hypot(x - (ax + dx * t), z - (az + dz * t)); if (d < best) best = d; } return best; }
    function gndW7(x, z) {
      var g = gnd(x, z);
      var d = Math.hypot(x + 672, z + 498);
      if (d >= 10) return g;
      var t = (10 - d) / 10; t = t * t * (3 - 2 * t);
      var fx = Math.max(0, Math.min(1, (5.2 - distToW7(x, z)) / 1.8));
      return g + (22.194 - g) * t * fx;
    }
    function isAllowedW7(x, z) {
      if (!Number.isFinite(x) || !Number.isFinite(z)) return false;
      var g = gnd(x, z); if (g < 10.0 || g > 22.1) return false;
      if (x >= -1512 && x <= -1088 && z >= -1380 && z <= -620) return false;
      if (x >= -1445 && x <= -1155 && z >= -625 && z <= -443) return false;
      if (x >= -1160 && x <= -656 && z >= -507 && z <= -489) { // the road band: only the surveyed merge strip
        return distToW7(x, z) <= 4.6 && x >= -702 && x <= -660;
      }
      return distToW7(x, z) <= 3.4;
    }
    var w7 = r[1].createWardConnector({ THREE: A.THREE, groundAt: gndW7, isAllowed: isAllowedW7, name: 'W7 Corridor — The Merge', line: W7_LINE, width: 5.0, maxY: 22.3 });
    var w7note = 'W7 corridor REFUSED: ' + (w7.check && w7.check.reasons ? w7.check.reasons.join('; ') : 'check');
    if (w7.accepted) { A.scene.add(w7.group); var w7t = extractTris(w7.standSurface.geometry); H.joins.push(w7t); H.joinIx.push(indexTris(w7t)); regAudit('W7 CORRIDOR — THE MERGE', new (A.THREE || A.T).Mesh(w7.standSurface.geometry), ribbonStand(w7t), 'ribbon'); var w7m = w7.measure(); w7note = 'W7 CORRIDOR BUILT under SURVEYED_W7_CORRIDOR (ceiling 22.30): 512.2 m at 5.0 m wide from Ward 7\'s path end (-1160,-350, 10.96) climbing at worst 3.5% to MERGE with the Long Road at its junction disc — the last ten metres blended to the disc\'s own 22.269, overlapping it at equal height; no second road drawn over the Long Road. Deviation from lift max ' + w7m.maxAbsErrorFromLift.toFixed(4) + ' m, ' + w7m.upFacingTriangles + ' up / ' + w7m.downFacingTriangles + ' down. THE WARDS ARE COMPLETE.'; }
    // THE CLIMB — COMPLETE (2026-10-13, the fix commission). The test segment proved true at the desk;
    // its eight stations are this line's first eight. The full line runs under the same permission class
    // (the schematic's SS3): KING_AUTHORIZED_CLIMB_W4_W5 — corridor-bound at 2.6 m, ceiling 13.90 set
    // from the full corridor's sampled max (13.72). Re-surveyed 2026-10-13: 18 stations, 247.9 m, worst
    // grade 4.0%, worst crossfall 3.7%. CLASSIFICATION, answered honestly: 3.7% crossfall exceeds the
    // 1:48 ramp limit, so this is a CLIMBING PATH — named a climb, never a ramp. Three resting turns
    // widen it, each a level stone shelf cut at path height on the uphill side, with a bench and a lamp.
    var CLIMB_LINE = [[-880, -728], [-888, -736], [-896, -744], [-904, -752], [-912, -760], [-912, -768], [-912, -776], [-912, -784], [-912, -800], [-908, -824], [-900, -848], [-892, -868], [-884, -884], [-872, -896], [-860, -904], [-848, -910], [-836, -914], [-820, -916]];
    function distToClimb(x, z) { var best = 1e9; for (var i = 0; i + 1 < CLIMB_LINE.length; i++) { var ax = CLIMB_LINE[i][0], az = CLIMB_LINE[i][1], bx = CLIMB_LINE[i + 1][0], bz = CLIMB_LINE[i + 1][1], dx = bx - ax, dz = bz - az, L2 = dx * dx + dz * dz, t = L2 ? ((x - ax) * dx + (z - az) * dz) / L2 : 0; t = Math.max(0, Math.min(1, t)); var d = Math.hypot(x - (ax + dx * t), z - (az + dz * t)); if (d < best) best = d; } return best; }
    function isAllowedClimb(x, z) { if (!Number.isFinite(x) || !Number.isFinite(z)) return false; var g = gnd(x, z); if (g < 0.5 || g > 13.9) return false; if (x >= -1512 && x <= -1088 && z >= -1380 && z <= -620) return false; if (x >= -1445 && x <= -1155 && z >= -625 && z <= -443) return false; if (x >= -1160 && x <= -656 && z >= -507 && z <= -489) return false; return distToClimb(x, z) <= 2.6; }
    var climb = r[1].createWardConnector({ THREE: A.THREE, groundAt: gnd, isAllowed: isAllowedClimb, name: 'W4-W5 Climb — Th