Thanks to a recent session with @yorgunkirmizi in implementing lights in the BlenderBIM Add-on, we were uncertain about what IFC elements were appropriate for holding certain types of light representation items.
For IfcLightSourceGoniometric and IfcLightSourcePositional (and Spot), an IfcLamp makes sense to store this information.
However, what element would be appropriate for IfcLightSourceAmbient and IfcLightSourceDirectional? Ambient is basically a fake light - not at all physically based, it’s more a fake arbitrary scene setting, which is increasingly irrelevant in this day and age. I cannot think of anything to store this. Perhaps arbitrarily there would be an IfcAnnotation or IfcBuildingElementProxy to store this. For directional, this is equivalent to the sun. Again, not sure what element would be “the sun” in a model
Even for positional and spot lights, these are not exactly that useful for IfcLamp, as they are not physically based at all (in fact based on VRML which is ancient). Therefore, if these were used in a model, such as for arch viz, then these are also likely to be used as “fake lights” - i.e. do not correlate to an actual element.
Goniometric seems to be the only one which is the least ambiguous.
Of course, one solution is that lights ought to be completely redesigned from scratch given how outdated they are, but I would like to attempt to support it (and perhaps purposely deviate from the spec to experiment in how far we can push its utility in a BIM model). I can certainly see uses in embedded shadow studies as one example, combined with IfcAnnotation as part of a drawing view.