IGBufferSource
Anything that can hand out a GBufferBinding — SDFLayer today.
Declared in src/libs/libconstruct/construct/rendering/GBufferSource.hpp.
Detailed description
Declared as an interface rather than passing `SDFLayer*` directly so that `construct/post/` does not have to depend on `construct/layers/`. The post effects need one question answered ("what may I bind right now") and nothing else about the layer.
**Consumers query per frame; they do not cache the binding across frames.** That is the whole point: the generation is only meaningful at the moment it is read, so storing a binding reintroduces the defect this type exists to prevent.