RefinementPlan
How one frame's geometry pass is split so no GPU submission exceeds the submit budget — construct-scene-evaluator §EV-A4.2.
In the namespace construct::engine. Declared in src/libs/libconstruct/construct/engine/RefinementPlan.hpp.
Detailed description
A pure class. The producer asks for a plan with the frame's size, its predicted full-size time (CostModel) and the budget, and renders what it gets:
| Situation | Plan | |—|—| | predicted ≤ budget | `Single`: one submission at full size | | over budget, camera or scene moving | `Scaled`: one submission at the scale that fits | | over budget, idle | `Banded`: a preview at the scale that fits, then full-size horizontal bands, one submission each | | a one-row band is over budget | `Degraded`: bands one row high at the largest scale where a row fits, reported once |
The prediction is uniform per row. The producer corrects the model from the measured time of each band, so rows that march further are learned rather than assumed.