Files
FreeCADWasmDev/docs/current/IFC_IDENTITY_PROGRESS.md

46 lines
2.5 KiB
Markdown

# 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.