# W-GROUND round 5: partial delivery

Recorded 8 Oct 2026, 16:26 CET. Branch: `task/1791462969-9c6958`. Code revision: `7d012e1`.

## Blocked on the integrator

Approval for a further complete test run after the test-cache fix. Two complete runs exhausted Node's heap. No third
attempt at that same blocker was started. The cache now keeps compressed grade JSON instead of hundreds of live
height grids and spatial indexes; its smoke check passed without dropping any original seed or assertion.

## What changed

- One metre-grid grade, precise road strips, flat pads, level squares, eased road profiles and exposed-cut retaining walls.
- Roads end at roads, squares, loops, low end walls or the world boundary; town fronts receive paving aprons.
- Straight row frontage fitting, 1.6 m alleys every six slots, small facade setbacks, exact width overrides.
- Walls are clipped away from door approaches and house bodies. Planned props and low style-front furniture obey the rule.
- Real-footprint wall-ground ranges, irregularity and entrance-step overrides are passed to the house generator.
- Every longer urban street receives a visible trade. Square and gate taverns and independently searched gate barns remain.
- Ground-floor colliders do not project roof or jetty overhangs onto the street. Stair scaling no longer adds false rise.

Only the brief's owned files and the new pure `ground.mjs` were changed. No style, layout, kit, page, live service,
remote canonical tree, push or deploy was changed. The vendor link and generated browse copies were removed/restored.

## Evidence

| Check | Observed result |
|---|---|
| `node --test omg/kit/building/test/ground.test.mjs` | 7 passed, 0 failed. Includes all tier/site door-wall/prop checks, seeds 1 to 5. |
| `node --test omg/kit/building/test/layout-model.test.mjs` | 10 passed, 0 failed. |
| Compressed-cache smoke | 3 passed, 51 unrelated tests skipped; the hamlet/plain group still checks all 50 seeds. |
| Required complete command | Failed twice on Node heap exhaustion. Not accepted as a full green suite. |
| Disposable page | Loopback port 8985 returned HTTP 200; that exact server PID was stopped. |
| Final GPU probe | 5 captures, no page errors. W moved the camera 5.11 m and its feet matched the shared ground. |
| City/plain/5, this branch | 422 ms plan + 1079 ms build = 1501 ms, below the stated combined 2100 ms limit. |
| Scratch preview with house branch | 423 ms plan + 1724 ms build = 2147 ms, slightly above that combined limit. |

Screenshots and test logs: `/tmp/w-ground-shots/`, with logs and the probe in `validation/`.
Required views were opened and inspected: `town-hill-5-aerial.png`, `town-hill-5-climbing-street.png`,
`town-hill-5-walk-moved.png`, `village-hill-1-church-door.png`, `city-plain-5-street.png`.
The churchyard wall is no longer across the house door. The climbing street is substantially flatter than the supplied
reference bug capture. A failed terrain-clipping experiment exposed holes and was removed rather than committed.
A probe-report printing error happened after checks and captures; its saved files were recovered and inspected.

`integrated/` contains a disposable preview with house branch `task/1791462969-2d8f69`, read into scratch only. It
confirmed exact-width and barn compatibility and exposed style-front props; the final renderer omits those props.
That branch was not merged here. The integrated captures do not constitute a complete integrated test run.

## Not done and risks

- Curved inner rows can still have gaps from safe rectangular placement; only straight frontage closure is proved.
- Some paving joins still expose grass. The complete facade-to-facade street acceptance target is not met.
- The door matrix proves walls and props, not every actual fitted door against every neighbouring fitted footprint.
- No exhaustive bank-gradient or stepped-walker acceptance test was added. Stair atoms fit their endpoint rise, but
  the walker still follows the graded stair bed rather than each authored tread.
- Full-suite acceptance after the compressed-cache change remains outstanding.
- The combined house-preview build is slightly above the speed budget.
- A missed cut or footprint could float paving or obstruct walking. Undo by reverting this branch's seven code commits.
- Local disk has about 14 GB free. Only this worker's scratch was removed; evidence remains for integration.

## Optional interfaces only

`plan.grade`, `plan.paving`; `road.grade`, `road.ends`; `plot.pad` (including its body rectangle), `ground`,
`irregular`, `stepUp`; retaining wall `cut`, `bottom`, `top`; terminal wall `terminal`. `groundInputs` accepts
optional `w` and `doorW`. Pure `doorZones`, `freeDoors` and `PROP_FOOT` are additionally exported. `doorGrades`
includes the sampled wall ranges and step count. Runtime Float32 grid buffers serialize as ordinary arrays.
No frozen field or required argument was renamed or removed. Details: `omg/kit/building/SETTLEMENT.md`, Round 5.
