Commit graph

4 commits

Author SHA1 Message Date
warnason
0f3d99db57 Fix duplicate elements and robust GlobalId lookup
Some checks are pending
CI / backend-lint-and-test (push) Waiting to run
- Remove IfcWallStandardCase from parser (covered by IfcWall as parent type)
- Add seen_global_ids set to prevent duplicate element insertion
- Use scalars().first() instead of scalar_one_or_none() for resilient lookup
- Re-parse required: clears and rebuilds element data without duplicates
2026-04-22 16:43:28 +02:00
warnason
cf20eb152f Add server-side IFC to glb conversion for 3D viewing
Some checks are pending
CI / backend-lint-and-test (push) Waiting to run
- New ifc_converter service using IfcOpenShell geometry serializer
- Preserves IFC GlobalIds as mesh names for click-to-inspect
- glb files served via /api/projects/{id}/model.glb endpoint
- New endpoint: lookup element by GlobalId for viewer integration
- Excludes IfcSpace and IfcOpeningElement from 3D output
2026-04-20 14:30:52 +02:00
warnason
f9e284c5d7 Add database auto-creation and fix IFC parser flush logic
Some checks are pending
CI / backend-lint-and-test (push) Waiting to run
- Create tables on application startup via lifespan event
- Flush project before creating elements (generate project_id)
- Flush each element before creating properties (generate element_id)
- Add IfcWallStandardCase to parsed element types
- Include FZK-Haus sample IFC file for testing
- Tested: 58 elements, 3601 properties parsed successfully
2026-04-20 12:50:11 +02:00
warnason
520d55259f Initial project scaffold: FastAPI backend + Vue.js frontend
Some checks are pending
CI / backend-lint-and-test (push) Waiting to run
- FastAPI with async SQLAlchemy models for IFC elements
- IFC file upload and parsing via IfcOpenShell
- REST API for projects, elements, and properties
- Vue.js 3 frontend shell with Three.js dependency
- Docker Compose for full-stack local development
- PostgreSQL 16 as database
- CI pipeline for Forgejo Actions
- Project documentation and API overview
2026-04-20 11:21:30 +02:00