EngineFrame
What a render engine hands to the frame pipeline after it (rendering-revamp §RVA-2).
In the namespace construct::rendering. Declared in src/libs/libconstruct/construct/rendering/EngineFrame.hpp.
Detailed description
Every engine fills the same fields, so the stages after it (staleness gate, denoise, upscale, tone map, post, overlays, target) work on any engine. The textures are non-owning and live until the engine's next advance(). The G-buffer half travels as a GBufferBinding, so the generation rule of §WFR-RC-3 holds: a consumer that caches over these textures keys on the generation, never on a pointer.