Class LayerStackBuilder
- Namespace
- EncDotNet.S100.Datasets.Pipelines.Interoperability
- Assembly
- EncDotNet.S100.Core.dll
Collects each loaded dataset's SubLayerStackItem values and sorts the whole stack via an IInteroperabilityAuthority. The builder is a thin orchestration layer; the actual policy lives in the authority.
public static class LayerStackBuilder
- Inheritance
-
LayerStackBuilder
- Inherited Members
Remarks
Callers (the viewer's dataset loader, the headless compositor) walk their per-dataset items in paint order top-first — the reverse of the order the renderer paints. The builder flattens that view into a single list preserving the load-order tiebreaker inside each plane.
Build(IInteroperabilityAuthority, IReadOnlyList<IReadOnlyList<SubLayerStackItem>>) returns items in bottom-of-stack-first order (lower indices paint earlier).
Methods
Build(IInteroperabilityAuthority, IReadOnlyList<IReadOnlyList<SubLayerStackItem>>)
Sorts every dataset's stack items through authority
and returns them in bottom-of-stack-first paint order.
public static IReadOnlyList<SubLayerStackItem> Build(IInteroperabilityAuthority authority, IReadOnlyList<IReadOnlyList<SubLayerStackItem>> datasetItems)
Parameters
authorityIInteroperabilityAuthorityThe interoperability authority supplying the sort policy.
datasetItemsIReadOnlyList<IReadOnlyList<SubLayerStackItem>>Per-dataset stack-item slices in paint order top-first — slice 0 is the top of the UI's dataset list (drawn last). The builder reverses the outer order so the authority's stable sort sees the dataset that should win ties at the bottom of the sort input, leaving the topmost dataset last in the output for any tied (plane, priority) group.