Interface IPortrayalAssetSource
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
namestringcancellationTokenCancellationToken
Returns
GetLineStyleAsync(string, CancellationToken)
Resolves a line style by name from the catalogue resources.
ValueTask<LineStyle> GetLineStyleAsync(string name, CancellationToken cancellationToken = default)
Parameters
namestringcancellationTokenCancellationToken
Returns
GetSymbolAsync(string, CancellationToken)
Resolves an SVG symbol by name from the catalogue resources.
ValueTask<SvgSymbol> GetSymbolAsync(string symbolName, CancellationToken cancellationToken = default)
Parameters
symbolNamestringcancellationTokenCancellationToken