<!-- SOLID CITY · part 3665 -->
ns = r[1].createShortWardJoins({ THREE: A.THREE, groundAt: gnd, isAllowed: isAllowed });
    for (var name in joins) { A.scene.add(joins[name].group); if (joins[name].standSurface && joins[name].standSurface.geometry) { var jt = extractTris(joins[name].standSurface.geometry); H.joins.push(jt); H.joinIx.push(indexTris(jt)); regAudit('JOIN ' + name, new (A.THREE || A.T).Mesh(joins[name].standSurface.geometry), ribbonStand(jt), 'ribbon'); } }
    // THE WARD 6 CONNECTOR — surveyed line to the Long Road corridor's edge.
    var w6 = r[1].createWardConnector({ THREE: A.THREE, groundAt: gnd, isAllowed: isAllowed, name: 'W6-LongRoad', line: [[-1118, -540], [-1135.3, -508.3]] });
    var w6note = 'W6 connector REFUSED: ' + (w6.check && w6.check.reason ? w6.check.reason : 'check');
    if (w6.accepted) { A.scene.add(w6.group); var wt = extractTris(w6.standSurface.geometry); H.joins.push(wt); H.joinIx.push(indexTris(wt)); regAudit('JOIN W6-LongRoad', new (A.THREE || A.T).Mesh(w6.standSurface.geometry), ribbonStand(wt), 'ribbon'); var wm = w6.measure(); w6note = 'W6 connector built to the last lawful station before the Long Road corridor boundary (36.1 m, ending 1.3 m short at the survey boundary per the schematic\'s refusal law — the road-edge apron awaits its own survey; deviation from lift max ' + wm.maxAbsErrorFromLift.toFixed(4) + ' m, ' + wm.upFacingTriangles + ' up / ' + wm.downFacingTriangles + ' down).'; }
    // THE W6 APRON — the last metres onto the Long Road itself (surveyed + built 2026-10-13, the fix commission).
    // The road runs on an embankment: its surface at x -1135.3 is 10.214 while the terrain beneath is 9.79,
    // so a terrain-following ribbon would lip 0.4 m at the edge. The apron is therefore built on a surveyed
    // ground blend rising to the road's own height, under the tie-in permission (the corridor opens only
    // inside the surveyed strip) — VECTOR's rule: a corridor edge is not a road edge; survey the road.
    function gndApron(x, z) {
      var g = gnd(x, z);
      var fx = Math.max(0, Math.min(1, (3.4 - Math.abs(x + 1135.3)) / 1.8));
      if (!fx) return g;
      var t = Math.max(0, Math.min(1, (z + 508.6) / 5.6)); t = t * t * (3 - 2 * t);
      return g + (10.139 - g) * t * fx;
    }
    function isAllowedTieIn(x, z) {
      if (!Number.isFinite(x) || !Number.isFinite(z)) return false;
      var g = gnd(x, z); if (g < 0.5 || g > 11.5) return false;
      if (x >= -1512 && x <= -1088 && z >= -1380 && z <= -620) return false;
      if (x >= -1445 && x <= -1155 && z >= -625 && z <= -443) return false;
      return (x >= -1137.6 && x <= -1133.0 && z >= -509.6 && z <= -502.6);
    }
    var apron = r[1].createWardConnector({ THREE: A.THREE, groundAt: gndApron, isAllowed: isAllowedTieIn, name: 'W6 Apron — Road Tie-In', line: [[-1135.3, -508.3], [-1135.3, -503.0]] });
    var apronNote = 'W6 apron REFUSED: ' + (apron.check && apron.check.reasons ? apron.check.reasons.join('; ') : (apron.check && apron.check.reason) || 'check');
    if (apron.accepted) { A.scene.add(apron.group); var at = extractTris(apron.standSurface.geometry); H.joins.push(at); H.joinIx.push(indexTris(at)); regAudit('W6 APRON — ROAD TIE-IN', new (A.THREE || A.T).Mesh(apron.standSurface.geometry), ribbonStand(at), 'ribbon'); apronNote = 'W6 APRON BUILT: the tie-in ribbon climbs the road embankment on a surveyed ground blend to meet the carriageway flush at 10.214 (its last 1.5 m overlaps the road surface at equal height) — Ward 6 now JOINS the Long Road; the 1.3 m gap is closed.'; }
    w6note += ' ' + apronNote;
    // THE CLIMB — TEST SEGMENT, under its own permission class (the schematic's SS3): KING_AUTHORIZED_CLIMB_W4_W5, corridor-bound, ceiling set from the sampled route (max 13.81 -> ceiling 13.90).
    var CLIMB_LINE = [[-880, -728], [-888, -736], [-896, -744], [-904, -752], [-912, -760], [-912, -768], [-912, -776], [-912, -784]];
    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 — Test Segment', line: CLIMB_LINE, maxY: 13.9 });
    var climbNote = 'Climb test segment REFUSED: ' +