You are W-ROADS6b, the repair pass of W-ROADS6. Its work (curved streets, rounded junctions, verges, 8-sided squares,
church parvis, stitched ground) is MERGED on main together with W-LIFE6 (dress.mjs) and the root's hero houses and town
look. Read W-ROADS6-REPORT.md first (its own list of what is still red), then CITY-LAYOUT.md section 5.
Fix, in this order, committing after each:
1. Tests that assumed four-sided squares (12 square-front failures using `% 4`, two that average 4 vertices for the
   centre, layout-model "wealth rings" and "church is at a square corner"): make them polygon-aware (any vertex count,
   real centroid, nearest edge of the real polygon). Keep what each test protects: do NOT loosen thresholds or drop
   cases. If a test then still fails, the code is wrong: fix the code.
2. The two real road/landmark clashes (city/river/1 cathedral vs r4, city/crossroads/1 cathedral vs r5): roads must not
   cross a landmark's body; most likely the Chaikin corner cut near the landmark: keep the original corner (or re-route)
   where a smoothed segment would enter a landmark/plot footprint. Add a test over tiers x sites x seeds 1-3.
3. The ground seam gate (test 74, "neighbouring meshes meet within 5 mm"): find and fix the real seams on the five sweep
   sites. Slivers below 3 mm that collapse on Float32 upload may be removed (welded) rather than tested, but say so in the
   test. Look at eye-level GPU shots for any place where sky or void shows through the ground; the dark bridge underside at
   the city/river/1 street approach reads as a hole: give the bridge deck a proper underside/abutment or hide the gap.
4. Build cost: plan + build of town/hill/1 at most +30 % over round 5 (710 + 663 ms then; now ~2000 ms): profile and cut.
Done = the full settlement suite (test/settlement.test.mjs, ~15 min, run it once at the end) plus all other test files
pass, GPU eye-level shots of a curved street, a junction, the square, the parvis and the city bridge that you LOOK at.
Files: ground.mjs, settlement.mjs (roads/squares/grading), settlement-render.mjs (ground section), the tests, W-ROADS6-REPORT.md
("6b" section). Do not touch dress*.mjs, heroes.mjs, town-look.mjs, render.mjs, browse/settlement.html.
Tools: local server port 8985; GPU probe `FAL_PORT=8986 FAL_PROBE_FILE=<shots.json> tools/gpu/run.sh tools/gpu/shots_probe.py <out>`.
Copy changed omg/kit/building/*.mjs to browse/building/. Private worktree and ports; no coord claims.
Time box: stop by 01:45 CET with what works committed; say plainly what is still red.
