Correct local or global coordinates inside IFC files
It is more like a question about correct behaviour.
IFC 4 introduced IFCMAPCONVERSION, it is said that it should contain informations for transforming local origin to the given point in the map, which can be also described as a zeropoint. Here is the tricky part - some software does not have this line included in their ifc export file and that shift is projected into the global coordinates of IfcSpatialStructureElement or ifcProject (in worst case right into the coordinates of meshes).
This issue is handled well by web-ifc, because it checks first occurrence of global coordinates and those data will be included in flatTransformation array of the geometries. Now imagine situation that in the whole ifc file is model shifted by that "zeropoint" and those coordinates are only written in the ifcMapConversion line.
In this case flatTransformation array does not include such a shift. Does web-ifc somehow cover this case somewhere else or is it against the standards to not include your translation towards global coordinates inside IfcSpatialStructureElement?
I have some experience in working with IFC4 models that are georeferenced using IFCMAPCONVERSION. Usually, coordinates of the model are kept in local coordinates, and if it is required for them to be projected/placed geospatially, then you just translate using the IFCMAPCONVERSION values.
Are you suggesting that the coordinates in IFC.js should be already translated? Or just have a way to see the "zeropoint" (normally I would call this a survey point by the way)?