Compare commits

..

8 commits

Author SHA1 Message Date
warnason
eb2c662d0e 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
ca0a52c0c1 Redesign UI layout: floating panels over full-width 3D viewer
- 3D viewer now fills the entire viewport
- Sidebar and property panel float over the viewer with transparency
- Collapsible panels via toggle buttons on panel edges
- Backdrop blur for readability while maintaining spatial awareness
2026-04-22 16:55:16 +02:00
warnason
b2c9a4d026 Improve 3D navigation: animated pivot on double-click
- Double-click on a building element sets it as the new orbit center
- Smooth animated transition using cubic ease-out (300ms)
- Enable screen-space panning for consistent pan behavior
- Set min/max zoom distance to prevent clipping
2026-04-22 17:03:54 +02:00
warnason
182e6e0123 Add interactive Three.js 3D viewer with IFC element inspection
- GLTFLoader renders server-converted glb model
- Click on 3D element to view properties (linked via IFC GlobalId)
- Sidebar with element list, filterable by type and storey
- Property panel shows all IFC PropertySets for selected element
- OrbitControls for camera navigation (rotate, zoom, pan)
- Auto-loads existing project on page visit
- Upload button for new IFC files
2026-04-20 18:10:26 +02:00
warnason
fb674ab580 Add server-side IFC to glb conversion for 3D viewing
- 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 19:11:55 +02:00
warnason
50b55cee42 Add database auto-creation and fix IFC parser flush logic
- 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 18:52:27 +02:00
warnason
886919d77f Allow bim.stifting.at as Vite dev server host 2026-04-20 19:49:18 +02:00
warnason
496fbc4aeb Add database auto-creation on startup 2026-04-20 18:48:00 +02:00

Diff content is not available