Files
FreeCADWasmDev/docs/current/IFC_BOOLEAN_EDIT_PROGRESS.md

60 lines
3.2 KiB
Markdown

# IFC Boolean Property Edit Continuation
Batch: `dabecec37465df44803cfa97`, 2026-09-16. Requirement remains
`business-format:BIM:semantic-export:.ifc`; retain all 1508 requirements.
## Implementation
`IfcOpenShellExport.cpp` now compares imported property-set metadata
structurally and allows existing IFC4 `IfcPropertySingleValue` boolean values
to change through the upstream schema API. It keeps property-set identities,
types, units, relationships and other values. All represented references to a
shared property must agree; inconsistent edits reject before file commit.
The source document is not mutated. Unsupported value types, metadata,
property membership, identity and hierarchy changes still reject explicitly.
`bim-ifc-semantic-business-cases.mjs` changes both true and false boolean
values in the independent ColumnPSetsOfSets fixture, together with native
solid dimensions, label, translation and rotation. It compares reparsed output
property sets against the edited native properties and checks native geometry.
It also checks shared-property conflicts and invalid boolean values preserve
destination bytes, document state and caller transactions. FCStd persistence
and the existing independent verifier remain in the execution path.
## Validation In Progress
Initial focused build passed (99.366 seconds), assets synchronized and the
selected acceptance runner executed. It exposed a casing compatibility error:
upstream metadata serializes `IfcBoolean`, not uppercase `IFCBOOLEAN`.
Historical failed evidence is retained at
`business-evidence/266816da4ea763887c126a8a-20260916T014433831696.json`.
The implementation now compares the type spelling case-insensitively; the
case uses the actual upstream spelling. The corrected build and acceptance
result will be recorded below before this continuation returns.
## Remaining Boundaries
- Existing boolean property edits are the only newly implemented value edits.
Other typed values and quantities still reject changes explicitly.
- Required `added_deleted_objects`, `classifications`, `materials`,
`native_bim_authoring` and `quantities` proof remains outstanding.
- Native authoring currently exports only wall, column and proxy classes;
required slab/opening/window/door behavior and misleading-label checks
still need implementation and executable proof.
- Imported additions/deletions and hierarchy edits still reject explicitly.
- No new browser semantic scenario has been executed in this continuation.
Reuse the existing browser/WASM workflow for subsequent browser proof.
- IFC4 is the tested semantic-export schema. IFC2X3 input support is not
equivalent to IFC2X3 semantic export; IFC4X3 remains unsupported.
- Do not modify the semantic contract, independent verifier, proof-area
requirements or acceptance machinery. No acceptance status was edited.
## Resume
Start with the final evidence below. Fix any first failing assertion before
repeating the selected case. Once this property-edit case passes, continue
with the existing importer metadata and embedded OriginalIFC graph for the
remaining semantic areas. Reuse local desktop exportIFC/exportIFCHelper,
nativeifc, cached IfcOpenShell source and linked parser/geometry archives.
Do not rerun the unchanged full BIM batch or rebuild OCCT.