Representation items left alone because they already carried a style and
replaceExisting was false. Empty otherwise.
Products that reached no geometry: no representation, or an empty one.
Pre-existing IfcStyledItem entities tombstoned to make room.
Only the styled item is removed. The IfcSurfaceStyle it pointed at stays
in the file, detached: a style can be shared with styled items this call
never touched, so removing it is not safe in general, and an unreferenced
style definition is valid IFC.
Empty whenever replaceExisting is false, which is when
keptExistingItemIds is the field carrying the answer.
One IfcStyledItem per representation item that was styled.
The IfcSurfaceStyle every item styled by this batch now points at, or
null when the batch styled nothing.
Null rather than an id because the style is only authored once there is something to attach it to. Emitting it up front left an orphan colour chain in the file for every batch that reached no geometry — and a caller colouring by IFC class hands in a batch per class, most of which (types, ports, spatial structure) have none.
What one batch did.
A snapshot taken when the call returns, not a live view. Results from a single
applyStylesInStoreare reconciled against each other before they are handed back, so a batch whose work a later batch replaced reports that. A result from an earlier call cannot be: recolouring the same geometry in a second call removes the styled items the first call named, and that first result still names them. The file is correct either way; only the older return value goes stale.