Donner 0.5.1
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
CompositorHintComponent.h File Reference
#include <algorithm>
#include <climits>
#include <cstdint>
#include <limits>
#include <vector>
Include dependency graph for CompositorHintComponent.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::svg::compositor::HintEntry
 A single {source, weight} entry stored by CompositorHintComponent. More...
struct  donner::svg::compositor::CompositorHintComponent
 Author-layer ECS component carrying the set of weighted hints published against an entity. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.

Enumerations

enum class  donner::svg::compositor::HintSource : uint8_t {
  Mandatory ,
  Animation ,
  Interaction ,
  ComplexityBucket ,
  Explicit
}
 Enumerates the subsystems that can publish a compositor hint for an entity. More...

Enumeration Type Documentation

◆ HintSource

enum class donner::svg::compositor::HintSource : uint8_t
strong

Enumerates the subsystems that can publish a compositor hint for an entity.

Hints are weighted inputs to the LayerResolver. Multiple sources may simultaneously hint the same entity (for example, a selected entity that also has opacity < 1 receives both a Mandatory and an Interaction or Explicit hint).

All five values are defined; Phase 1 produces only Mandatory and Explicit. Animation, Interaction, and ComplexityBucket are reserved for Phase 2+ and must compile/resolve cleanly even though no source publishes them yet.

Enumerator
Mandatory 

SVG semantics force isolation (opacity < 1, filter, mask, etc.). Infinite weight.

Animation 

Published by the animation system on animated subtrees. Reserved for Phase 2.

Interaction 

Published by the editor selection/drag subsystem. Reserved for Phase 2.

ComplexityBucket 

Published by the complexity bucketer at load / structural rebuild. Reserved for Phase 2.5.

Explicit 

Escape hatch for explicit callers (tests, CompositorController::promoteEntity).