An overlay-CREATED entity's record, exactly as StepExporter — via
writeOverlayCreatedEntities — will write it: the authored attributes,
re-laid-out for a pending retype, then every attribute/positional edit made
AFTER the create applied on top. Extracted from effectiveAppearanceRecord
(#4857 PR A) so a reader that wants an overlay-created entity to read
exactly as the exported file will state it — the cost read model
(CostMutationOverlay.created()), so an authored IfcCostItem is visible
to bim.cost before the model is ever exported — goes through the same one
writer effectiveAppearanceRecord already used, rather than a second
re-implementation of retype + override layering.
Returns null when expressId names no overlay-created entity (nothing to
report — the caller falls back to the source-record path). Throws when the
created entity's authored argument list does not scan for a pending retype:
the same condition effectiveAppearanceRecord throws on, since neither
caller can hand back a well-formed record. A created() caller in a read
model (as opposed to export, which must fail loudly) should catch this and
report a diagnostic instead of propagating it.
An overlay-CREATED entity's record, exactly as
StepExporter— viawriteOverlayCreatedEntities— will write it: the authored attributes, re-laid-out for a pending retype, then every attribute/positional edit made AFTER the create applied on top. Extracted fromeffectiveAppearanceRecord(#4857 PR A) so a reader that wants an overlay-created entity to read exactly as the exported file will state it — the cost read model (CostMutationOverlay.created()), so an authoredIfcCostItemis visible tobim.costbefore the model is ever exported — goes through the same one writereffectiveAppearanceRecordalready used, rather than a second re-implementation of retype + override layering.Returns
nullwhenexpressIdnames no overlay-created entity (nothing to report — the caller falls back to the source-record path). Throws when the created entity's authored argument list does not scan for a pending retype: the same conditioneffectiveAppearanceRecordthrows on, since neither caller can hand back a well-formed record. Acreated()caller in a read model (as opposed to export, which must fail loudly) should catch this and report a diagnostic instead of propagating it.