4.6 KiB
IFC Membership And Semantic Acceptance
2026-09-16. The current IFC4 semantic supplement passed all 13 declared proof areas through actual native execution. The entire 1508-requirement project is not complete. This result does not imply support for every IFC schema, entity or edit; the explicit implementation limits below remain.
Native Changes
The importer now persists native object IDs and IFC GlobalIds alongside the embedded source file. The exporter uses them to distinguish deleted objects from new objects that reuse the same document name, including after FCStd save/reopen. Existing unchanged documents without this additional identity manifest remain exportable; deleting from those older documents rejects explicitly because the required identity mapping is absent.
Added solid products reuse the same upstream BRep serializer and authoritative IFC-class mapping as authored documents. They must belong to exactly one imported building storey. Their generated product and containment identities are stable, their geometry is converted into source length units, and duplicate identities reject before destination commit.
Deletion uses upstream IfcOpenShell reference removal for containment, property/type definitions, material/classification associations and child decomposition references. Empty relationships are removed when their last member is deleted. Shared metadata and surviving members remain intact. Unknown inverse relationships and deletion of spatial/decomposition parents reject explicitly. Source documents are not rewritten by the exporter.
The previous background continuation's material/classification changes were retained and tested: existing simple material names and classification-reference names/identifiers can be edited consistently across shared references. The interrupted case integration and a missing document lookup in its rollback test were completed. Dependencies include the actual separate cases and fixtures; no untracked case input is used to award acceptance.
Evidence
business-evidence/266816da4ea763887c126a8a-20260916T023700353278.json:
46 scenarios, 66 passing assertions, all 13 declared proof areas and the
unchanged independent verifier passed. Membership scenarios cover both shared
quantity and shared association fixtures, same-name replacement, rotated native
wall geometry, stable repeat export, undo/redo, FCStd persistence, invalid
membership rejection, caller transaction recovery, and last-member deletion.
business-evidence/0ad9cfb9964462bcf78a9d2e-20260916T023807367320.json:
the two existing geometric IFC import/export requirements passed after the
shared serializer change. Unrelated module cases were not rerun.
The semantic execution took 31.962 seconds. Repeating the same selected request
with --reuse took 0.340 seconds, read one proof file and executed zero cases.
The newly added scenarios share the existing WASM instance. Only the affected
BIM target was incrementally rebuilt; OCCT and other targets were reused.
43 business automation tests and three snapshot comparison tests also passed.
Intermediate failures remain in the evidence directory. A native temporary shared-list lifetime error was repaired. The negative empty-shape test now uses an actually empty new Part feature: clearing a parametric wall's cached shape is not invalid because document recompute regenerates it legitimately.
Explicit Limits
- Tested semantic schema: IFC4. This is not an IFC2X3/IFC4X3 export claim.
- Supported newly authored solid classes: wall, column, slab and untyped proxy. Other classes reject; class names never come from display labels.
- Imported additions require one existing storey; new spatial hierarchy, existing-object reparenting and deletion of spatial/decomposition parents remain unsupported and reject.
- Imported boolean properties, six existing simple quantity value types, material names and classification-reference names/identifiers are editable. Arbitrary new property sets, quantity sets, material structures and new associations are not implemented. Unsupported edits reject explicitly.
- Deletion requires the persisted identity manifest. Export of a document without a remaining solid is rejected. Unsupported inverse references, including opening/filling relationship edits, reject rather than being lost.
- This continuation changes native behavior and native acceptance, not a new browser editing UI. Existing browser import evidence is retained.
Continue other pending business requirements using the current ledger and planner. Do not repeat accepted IFC tests unless relevant inputs change, and do not count repeated regression execution as new business delivery.