Table of Contents

Interface IPortrayalAssetSource

Namespace
EncDotNet.S100.Pipelines.Vector
Assembly
EncDotNet.S100.Core.dll

Capability interface for catalogues that supply portrayal assets — SVG symbols, line styles, and area fills (S-100 Part 9 §11). The MapsuiDisplayListRenderer and equivalent renderers consume these via per-feature provider callbacks.

public interface IPortrayalAssetSource

Remarks

All members are asynchronous because uncached lookups perform I/O against the underlying IAssetSource. Implementations are expected to memoize decoded results, so the second access for the same name on a given catalogue completes synchronously through the ValueTask<TResult> fast path.

Renderers (Skia, Mapsui) are themselves synchronous, so dataset processors are responsible for awaiting these methods before the synchronous render phase and capturing the results in local resolver closures. See CataloguePreWarm in EncDotNet.S100.Datasets.Pipelines for the shared helper.

Implementations should throw PortrayalAssetNotFoundException when the named asset is not present in the loaded catalogue.

Methods

GetAreaFillAsync(string, CancellationToken)

Resolves an area fill by name from the catalogue resources.

ValueTask<AreaFill> GetAreaFillAsync(string name, CancellationToken cancellationToken = default)

Parameters

name string
cancellationToken CancellationToken

Returns

ValueTask<AreaFill>

GetLineStyleAsync(string, CancellationToken)

Resolves a line style by name from the catalogue resources.

ValueTask<LineStyle> GetLineStyleAsync(string name, CancellationToken cancellationToken = default)

Parameters

name string
cancellationToken CancellationToken

Returns

ValueTask<LineStyle>

GetSymbolAsync(string, CancellationToken)

Resolves an SVG symbol by name from the catalogue resources.

ValueTask<SvgSymbol> GetSymbolAsync(string symbolName, CancellationToken cancellationToken = default)

Parameters

symbolName string
cancellationToken CancellationToken

Returns

ValueTask<SvgSymbol>