|
|
Donner 0.5.1
Embeddable browser-grade SVG2 engine
|
Stateless resolver that collapses CompositorHintComponent entries into ComputedLayerAssignmentComponent assignments, subject to a layer budget. More...
#include "donner/svg/compositor/LayerResolver.h"
Public Member Functions | |
| void | resolve (Registry ®istry, uint32_t maxLayers, const ResolveOptions &options={}) |
| Run one resolution pass over registry. | |
| const LayerResolverStats & | stats () const |
| Stats from the most recent resolve() call. Zeroed before each run. | |
Stateless resolver that collapses CompositorHintComponent entries into ComputedLayerAssignmentComponent assignments, subject to a layer budget.
Algorithm (see design doc § Layer Promotion Cascade):
Determinism: repeated calls on unchanged registry state produce identical assignments. ComputedLayerAssignmentComponent is only written when the assigned layerId changes, reducing ECS churn.
| void donner::svg::compositor::LayerResolver::resolve | ( | Registry & | registry, |
| uint32_t | maxLayers, | ||
| const ResolveOptions & | options = {} ) |
Run one resolution pass over registry.
| registry | Registry to inspect and update. |
| maxLayers | Maximum number of non-root layers to assign. Defaults to kMaxCompositorLayers (see CompositorController.h). The parameter is a bare integer here to keep LayerResolver.h independent of the controller. |
| options | Per-source enable/disable flags (default: all sources on). |