<!-- SOLID CITY · part 3673 -->
sx + sz * sz < 130 * 130) { H.saidStreet[w] = true; A.help('🏘 ' + st.name + ' STREET — dwellings of the nation stand along this path, each founded on sampled ground, each floor under standing law.', 7); }
  }
  for (var k in LINK_MID) {
    if (H.saidJoin[k]) continue;
    var m = LINK_MID[k], jx = S.p.x - m.x, jz = S.p.z - m.z;
    if (jx * jx + jz * jz < 60 * 60) { H.saidJoin[k] = true; A.help('🛤 A join in the nation\'s road — the wards are one network here. This link was measured to three hundredths of a millimetre of its constructed surface.', 7); }
  }
}
function wallSolids(house) {
  var mesh = house.mesh, st = house.stand;
  var c = Math.cos(mesh.rotation.y), s = Math.sin(mesh.rotation.y);
  (house.solids.source || []).forEach(function (w) {
    var p = w.geometry.parameters, ly = w.position.y;
    if (p.height < 1 && ly > st.center[1] + 2) return; // the lintel — above the door, no standing law
    var len = Math.max(p.width, p.depth), dep = Math.min(p.width, p.depth);
    var n = Math.max(1, Math.ceil(len / 0.9)), cw = len / n;
    var hx = cw / 2 * Math.abs(c) + dep / 2 * Math.abs(s), hz = cw / 2 * Math.abs(s) + dep / 2 * Math.abs(c);
    for (var i = 0; i < n; i++) {
      var off = -len / 2 + cw * (i + 0.5);
      var lx = w.position.x + (p.width >= p.depth ? off : 0), lz = w.position.z + (p.width >= p.depth ? 0 : off);
      var wx = mesh.position.x + lx * c + lz * s, wz = mesh.position.z - lx * s + lz * c;
      A.solids.push({ x0: wx - hx, x1: wx + hx, z0: wz - hz, z1: wz + hz, y0: ly - p.height / 2 - 0.03, y1: ly + p.height / 2 + 0.03, wardHouseWall: true });
    }
  });
}
function raiseHouse(house) {
  A.scene.add(house.mesh);
  var roofTop = null;
  house.mesh.children.forEach(function (ch) {
    var p = ch.geometry && ch.geometry.parameters;
    if (p && p.width >= 8.7 && Math.abs(p.height - 0.28) < 0.01) roofTop = ch.position.y + p.height / 2;
  });
  H.houses.push({ stand: house.stand, roofTop: roofTop, cx: house.plot.cx, cz: house.plot.cz, ward: house.plot.ward });
  wallSolids(house);
  return roofTop;
}
function load() {
  Promise.all([
    import('/city/ward-houses.js?v=20261013a'),
    import('/city/ward-joins.js?v=20261013a'),
    import('/city/wards.js?v=20261013a'),
    fetch('/city/city.js').then(function (r) { return r.text(); })
  ]).then(function (r) {
    var seg = r[3].slice(r[3].indexOf('var SEED'), r[3].indexOf('function mulberry'));
    var gnd = new Function(seg + '; return groundAt;')();
    var isAllowed = r[2].isAllowedSolidCity(gnd);
    // THE MULTIPLICATION — every lawful house the searcher found, raised.
    var table = [], pilot = null;
    [2, 3, 5].forEach(function (ward) {
      var res = r[0].createWardHouses({ THREE: A.THREE, groundAt: gnd, isAllowed: isAllowed, ward: ward });
      res.accepted.forEach(function (house) {
        raiseHouse(house);
        var m = r[0].measureWardHouse(house, gnd);
        table.push('W' + ward + ' @ (' + Math.round(house.plot.cx) + ', ' + Math.round(house.plot.cz) + ') floor ' + m.floorY.toFixed(2));
        if (ward === 2 && !pilot) pilot = house;
      });
    });
    if (!pilot) throw new Error('no pilot house');
    H.housePos = { x: pilot.plot.cx, z: pilot.plot.cz };
    // THE TWO SHORT JOINS — built, and their surfaces connected to movement.
    var joins = 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) H.joins.push(extractTris(joins[name].standSurface.geometry)); }
    if (A.POIS) {
      A.POIS.push({ id: 'pilot-house', name: 'THE PILOT HOUSE — WARD 2', icon: '🏠', x: pilot.plot.cx, z: pilot.plot.cz, blurb: 'The first dwelling of the nation, raised as a pilot from VECTOR\'s housing factories: level floor on descending supports, glass to the street, its plot the searcher\'s first lawful choice in Ward 2. Examined first — then the nation multiplied.', arrive: 'You stand before the Pilot House.' });
      A.POIS.push({ id: 'ward-3-street', name: 'WARD 3 STREET', icon: '🏘', x: STREET[3].x, z: STREET[3].z, blurb: 'Four dwellings of the nation along the Spine path of Ward 3 — silver walls, glass to the street, every floor founded on sampled ground and registered under standing law.', arrive: 'Ward 3 Street — the nation lives here now.' });
      A.POIS.push({ id: 'ward-5-street', name: 'WARD 5 HILLSIDE', icon: '🏘', x: STREET[5].x, z: STREET[5].z, blurb: 'Two hillside dwellings in Ward 5, standing taller on their supports where the shelf rises — the Quiet Precision ward, inhabited.', arrive: 'Ward 5 hillside — houses above the northern shelf.' });
    }
    A.logBuild({ t: Date.now(), site: 'THE WARD HOUSES', what: 'Multiplication on the King\'s word: 10 lawful houses stand (pilot + 9). ' + table.join(' · ') + '. Ward 4\'s two plots remain refused; their search continues as survey work. Joins W2-W3 and W3-W4 stand beside