Files
FreeCADWasmDev/docs/current/IFC_IDENTITY_PROGRESS.md

2.5 KiB

IFC Identity Repair

Later verified results: ACCEPTANCE_EFFICIENCY_PROGRESS.md. The property-set and hierarchy failures described below are historical; the independent verifier now passes on the imported fixture. Full semantic acceptance still has six mandatory proof gaps.

2026-09-16. This closes the product GlobalId defect, not the full semantic export requirement. All original business requirements remain outstanding according to their current evidence.

The native exporter now preserves existing IfcGlobalId, GlobalId and desktop IfcData/IfcUID properties. Conflicting, invalid or duplicate explicit identities are rejected before destination replacement. Objects without explicit IFC identity use UUID v5 from the persisted FreeCAD document UUID and object ID, encoded by upstream IfcOpenShell's compression routine. Labels and geometry do not participate; source documents are not mutated by export.

Built FreeCADWebBimRuntimeProbe incrementally, synchronized public and preview artifacts, and ran the real WASM test tools/test_ifc_identity.mjs. All 12 checks passed: repeated export, distinct objects, renaming, geometry edits, FCStd close/reopen, explicit and legacy IDs, duplicate/conflicting/invalid identity rejection, destination preservation, recovery and document isolation.

Evidence: user-tests-20260915/ifc-identity-2026-09-16T01-00-17-758Z/results.json.

The current business runner independently reimports an official IFC4 fixture and exported output. Source class, volume/units and GlobalId checks now pass. Typed property sets and spatial hierarchy identity/relationships still fail: business-evidence/c53ea6d07d02b79addabe748-20260916T010110052233.json. Geometric IFC import/export remain passed; semantic export remains failed.

Continue from the existing importer metadata and embedded OriginalIFC file, the local IfcOpenShell parser, and desktop exportIFC/exportIFCHelper sources. Do not recreate the completed identity logic or weaken the independent verifier. Material/classification/quantity and edit/add/delete semantics still require their actual mandatory case coverage; passing the core verifier alone is not full semantic completion.

The scheduler source-search wrapper now translates directory/glob queries into the bounded reader. Globs are applied to enumerated files, and explicitly named files are prioritized over directory results. Source-search tests (12) and scheduler regressions (151) pass. Prior query rejections are retained in history; they do not imply that the local source is absent.