Files
FreeCADWasmDev/docs/current/IFC_MEMBERSHIP_PROGRESS.md

82 lines
4.6 KiB
Markdown

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