# House reconstruction audit

Source: `19-09-2026.dwg`; recursive block expansion from full LibreDWG JSON. No source DWG is included in the deployed data.

## Coordinate registration

Centimetres confirmed by 25cm masonry / 90cm nominal door symbols / 650×650cm garage area42.25m². Origin CAD(2174.966799152644, 3957.939040454368), metric x right and z downward. Upper floor shifted+3050 CADy. Roof shifted+8990 CADy. Ground room-area layer independently shifted+200 CADy to match wall corners.

Exterior footprint14.35×19.25m, main roof12.15×14.30m, hip ridge2.15m,20° pitch. Main floor0.00m; upper floor3.24m from section A; garage−0.15m from annotation228083. Roof apex8.860m. Roof eave6.649m.

## Extraction and review

94 wall/slab solids, 42 joinery openings, 19 actual room-area paths, one two-flight stair. Wall boundaries use ELEMENTY MUROWANE plus K-WIDOK structural columns. Open fragments are polygonized; short U-shaped masonry outlines are capped across their thickness. Actual door/window gaps are retained, including both 50cm sidelights, and lintels align with adjacent masonry faces across the full door/sidelight span. Exterior shell follows20cm finish lines. Doors use opposite jamb paths1433/1434 after every block transform. Windows use actual10cm frame outlines. The two kitchen windows preserve90cm sills and140cm heights.

The overlay SVGs compare extracted walls (green) against source linework (grey) and room paths (blue). All19 room destinations pass a10cm-grid connectivity check with a38cm pedestrian width on their respective floor. Structural plan alignment is numerical; overlays are a human review aid, not a certificate of exhaustive CAD agreement. Plumbing/furniture/dimensions are excluded from architectural solids. Source handles remain in every geometry record. Material assignment is proposed styling.

## Repaired missing geometry

- The terrace previously had only two posts and its far beam. Matching ground/upper outlines215274/217635 establish x2.00–14.15m,z19.05–22.05m (12.15×3.00m,36.45m²). A complete opaque roof now covers this footprint; source inner outlines215275/217636 restore both side frame returns. The slab underside2.90m/top3.24m and lower frame underside2.65m are interpreted heights consistent with the existing frame and first-floor level, not verified terrace section dimensions. A separate roof-finish surface covers the top; the underside/edges use plaster. Ground-floor glazing and circulation remain below it, and upper glazing starts at its top. Roof build-up and drainage are not modeled.
- Facing the entrance, the internal door163049 has a50cm sidelight163117 at x6.88889–7.00m,z9.10–9.60m. The previous70cm window-width cutoff omitted it. The shared header now covers the full source beam footprint x6.75–7.00m,z9.10–10.60m above2m (K-BELKI163121/163122), with no opaque wall across the door or glazing below. The exterior entrance sidelight162985 also uses its actual frame instead of a guessed centre.
- Door lintels now use the common thickness of the source masonry at their two ends. Previously every lintel was25cm thick and centred on the offset frame, leaving up to7.4cm strips missing or projecting beyond the wall.
- Upstairs, the open U-shaped masonry path165476 lost its return beside bedroom door163254. Capping its15cm-wide end restores x8.35–8.95m,z15.40–15.55m, while the sliding passage x9.75–10.55m stays open. The internal6cm sliding-door pocket cavity is simplified to the wall envelope.
- Both floors were checked for discarded wall polygons and unmatched edges. No closed masonry cells were excluded by the thin-wall filter. Before repair, the only unmatched masonry edges were at165476; ground room-area registration remains consistent with wall corners after its documented2m shift. At pedestrian height the ground-floor masonry is unchanged; upstairs only the source pocket-wall envelope is restored. All19 destinations remain connected.

## Unresolved source questions

- House entry indentation finish line is x2.90m; latest PZT uses x2.91m at that one edge. Registration uses matching garage corner without averaging this1cm discrepancy.
- Section A finished floors differ by3.24m; plan stairs18×18.50cm imply3.33m. Model follows section3.24m; nine-centimetre drawing discrepancy remains unresolved.
- Door/window widths are source plan frame or jamb widths. Opening heights use plan annotations; exhaustive elevation reconciliation has not been completed. Garage gate height2.40m and side-light height2m are inferred.
- Upper lounge void is interpreted from first-floor masking and absent room-area polygon; confirm against architect slab drawing.
- Facade finish and parapet height are visual interpretations; wall plan topology is reconstructed from source, not a construction-certified model.
- Terrace cover footprint12.15x3.00m matches ground/upper outlines215274/217635. Opaque infill follows the requested covered terrace; underside2.90m, top3.24m and frame underside2.65m are inferred. Drainage and roof build-up remain undetailed.
- Room surface layer for ground floor was shifted2m in the DWG; registered to matching partition corners. Room names inferred from equipment.

## Reproduction

Install Shapely in a temporary Python environment. Decode the named DWG with LibreDWG `dwgread -O JSON -o house.json`, then run `scripts/extract-house.py house.json`. Run `node --test tests/house.test.js`. Tests cover source registration, wall/room geometry, staircase void, hipped roof bounds/slope, real stair traversal, the entry-facing sidelight/header, upper bedroom wall return, full terrace cover and a real walk beneath its frame. The script never edits the source drawing.
