feat: add catastro SSOT integration, 3DGS hybrid pipeline, casa demo v3

- SPEC: add User Story 0 (Property Setup via Catastro) as P1 entry
- SPEC: add catastro_data and catastro_imports tables to data model
- PLAN: add Phase 2A (Catastro Integration) with 8 tasks
- AGENTS.md: add 3 key decisions (Catastro SSOT, 3DGS hybrid, plan inputs)
- Demo v3: Spanish apartment (C/ Altabix 24, 3ºB, Elche), 7 rooms,
  upload panel for catastro/DXF, proper collisions on all doors
This commit is contained in:
2026-05-29 01:03:32 +02:00
parent 3db7e47994
commit be3221e93d
8 changed files with 2785 additions and 3 deletions
+15 -2
View File
@@ -46,9 +46,22 @@ See `data-model.md` (separate document — same directory).
---
## Phase 2: Photo Upload & Processing Pipeline (P1) 🎯 MVP Core
## Phase 2: Property Setup & Photo Upload (P1) 🎯 MVP Core
### 2A: Upload API
### 2A: Catastro Integration
- [ ] T007 Create `packages/catastro/` — Catastro client package
- [ ] T008 Write failing test: address "C/ Altabix 24, Elche" → refcat resolved
- [ ] T009 Implement OVK address search (SOAP/REST → refcat)
- [ ] T010 Write failing test: refcat → building polygon GML from INSPIRE WFS
- [ ] T011 Implement INSPIRE WFS client (GML → GeoJSON polygon)
- [ ] T012 Implement GML polygon → wall segments converter (`{x1,z1,x2,z2,height,thickness}`)
- [ ] T13 Write failing test: POST /api/v1/projects with address → catastro_data populated
- [ ] T014 Implement project creation with Catastro lookup (address → refcat → footprint → walls)
**Checkpoint**: Enter "C/ Altabix 24, Elche" → building polygon rendered in minimap → exterior walls in 3D scene.
### 2B: Photo Upload API
- [ ] T007 Write failing test: POST /api/v1/projects with photos returns 201 + project ID
- [ ] T008 Implement project creation endpoint with Zod validation