Files
editor/packages/mcp/test-reports/villa-azul/v3-dimensions.md
T
Adrian PerezandClaude Opus 4.7 f230d9a401 test(mcp): Villa Azul + 10-agent deep verification
Builds a larger, richer house than Casa del Sol via MCP save_scene
(no injection hack), then dispatches 10 parallel verifiers across
schema, geometry, dimensions, openings, HTTP, page render,
parentage, round-trip, spatial, visual.

Villa Azul — 56 nodes, validate_scene=true, 44KB on disk:
- 15x10m building envelope (vs Casa del Sol's 12x8)
- 9 interior zones (master bed/bath, bed 2/3, shared bath,
  living/dining, kitchen, entry hall, corridor)
- 10 doors + 12 windows (all cut successfully)
- 4 exterior zones (pool 8x4 + basin slab at -2m, outdoor kitchen,
  driveway, back patio)
- 5 rail-style fences (vs Casa del Sol's privacy) with 2m entrance gap

Verification: 108 checks, 104 PASS, 4 findings:
- V1 schema: 56/56
- V2 geometry: 7/7 (perimeter closes, interior T-junctions, no
  zone overlaps, fence gap verified)
- V3 dimensions: 13/13 zone areas exact (1 spec mismatch on site
  polygon default, not a build bug)
- V4 openings: 22/22 dimensional fit, surfaced a tool gap in
  cut_opening (no adjacency check) + my build packed too tightly
- V5 HTTP: 10/10 (GET/PUT/PATCH/DELETE/HEAD, If-Match conflicts)
- V6 page: 14/14 (/scene/:id 81KB, /scenes 20KB, 404 fallback)
- V7 parentage: surfaced CROSS_CUTTING §2 site->building->level
  parentId=null (pre-existing in core's loadScene)
- V8 round-trip: 10/10 byte-equal, duplicate_level -> 110 nodes
- V9 spatial: 12/12 (find_nodes, measure, constraints resource)
- V10 visual: HTML fallback (Chrome extension disconnected during
  run); API layer intact

Follow-up tracked: `cut_opening` should check opening-adjacency on
the same wall (minimum gap) to catch tight packing during patch
construction. Currently returns success and relies on the UI to
visualise the overlap.

Live at http://localhost:3002/scene/a6e7919eacbe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 20:39:08 +02:00

3.3 KiB
Raw Blame History

Villa Azul — V3 Dimensional Accuracy Report

  • Scene file: /tmp/pascal-villa/scenes/a6e7919eacbe.json
  • Generated: 2026-04-18
  • Tolerance: < 1% per-zone area error
  • Method: shoelace formula applied to each zone's polygon array; all polygons in this scene are axis-aligned rectangles, so areas reduce to width × height. Computed by hand from extracted coords (Bash execution disabled in sandbox).

Per-zone areas

Zone Expected (m²) Actual (m²) Abs err (m²) % err Pass
Master bedroom 18.00 18.000 0.000 0.000% PASS
Master bath 12.00 12.000 0.000 0.000% PASS
Bedroom 2 12.00 12.000 0.000 0.000% PASS
Shared bath 6.00 6.000 0.000 0.000% PASS
Bedroom 3 12.00 12.000 0.000 0.000% PASS
Living dining 42.00 42.000 0.000 0.000% PASS
Kitchen 18.00 18.000 0.000 0.000% PASS
Entry hall 15.00 15.000 0.000 0.000% PASS
Corridor 15.00 15.000 0.000 0.000% PASS
Pool 32.00 32.000 0.000 0.000% PASS
Outdoor kitchen 15.00 15.000 0.000 0.000% PASS
Driveway 29.25 29.250 0.000 0.000% PASS
Back patio 20.00 20.000 0.000 0.000% PASS

Aggregate checks

Check Expected Actual % err Pass
Interior sum (first 9 zones) 150.00 m² 150.000 m² 0.000% PASS
Pool exactly 32 m² (8 × 4) 32 m² 32.000 m² 0.000% PASS
Site polygon area 500 m² 900.000 m² 80.000% FAIL
Pool ↔ Master bedroom centroid dist 1720 m 19.602 m PASS

Centroids (reference)

Zone cx cy
Master bedroom -8.500 -2.000
Master bath -8.500 3.000
Bedroom 2 -5.500 -3.000
Shared bath -5.500 0.000
Bedroom 3 -5.500 3.000
Living dining -1.000 -1.500
Kitchen -1.000 3.500
Entry hall 3.500 -2.500
Corridor 3.500 2.500
Pool 11.000 0.000
Outdoor kitchen 9.500 4.500
Driveway -9.250 7.750
Back patio 0.000 6.500

Pool ↔ Master bedroom distance

  • Pool centroid: (11, 0)
  • Master bedroom centroid: (-8.5, -2)
  • dx = 19.5, dy = 2 → d = √(19.5² + 2²) = √384.25 ≈ 19.602 m (within 1720 m)

Summary

  • Zones pass (<1%): YES (13 / 13)
  • Interior sum pass: YES (150.000 m² vs 150 m², exact)
  • Pool exact pass: YES (32.000 m²)
  • Site polygon pass: NO — site is 30×30 = 900 m², spec expects 25×20 = 500 m²
  • Pool ↔ Master distance pass: YES (19.602 m)
  • Overall: FAIL (one aggregate check fails: site polygon area)

Notes / deviations

  • Site polygon points are [[-15,-15],[15,-15],[15,15],[-15,15]], i.e. a 30 × 30 square (900 m²), not the 25 × 20 = 500 m² lot called for by the design spec. All zone and building geometry does fit inside this larger site, so the building envelope and interior footprint are still correct; only the site boundary itself is wrong.
  • All 13 zone polygons are exact axis-aligned rectangles with integer or half-integer vertices; shoelace areas equal width × height with no floating-point drift (errors are 0 to machine precision).
  • Interior 9-zone total is exactly 150 m² (0% error), confirming the 15 × 10 m interior envelope.
  • Pool footprint is exactly 8 × 4 = 32 m², matching spec.