Class S131LuaRuleExecutor
Executes the S-131 Lua portrayal stage (S-100 Part 9A) by composing the product-agnostic LuaRuleExecutor with the S-131-specific seams: an S131LuaDataProvider host bridge over GML-encoded features, and the S-131 context parameter bindings.
public sealed class S131LuaRuleExecutor : ILuaVectorRuleExecutor, IVectorRuleExecutor
- Inheritance
-
S131LuaRuleExecutor
- Implements
- Inherited Members
Remarks
This is the GML+Lua bridge: S-131 features are parsed from GML by EncDotNet.S100.Datasets.S131.S131DatasetReader, then the Lua portrayal engine processes them identically to how it processes S-101 ISO 8211 features. The S131LuaDataProvider translates between the GML feature model and the Lua host API contract, including the GML-specific spatial shim.
Unlike S-101, S-131 applies no anchor provider (it has no augmented line
geometry) and no post-parse transform (no SAFCON merger). Its portrayal
catalogue declares TwoShades rather than S-101's FourShades,
so the context-parameter binding inverts the mariner's four-shades flag.
Constructors
S131LuaRuleExecutor(ILuaEngine, S131Dataset, S131PortrayalCatalogue, FeatureCatalogue)
Initialises the S-131 Lua rule executor.
public S131LuaRuleExecutor(ILuaEngine luaEngine, S131Dataset dataset, S131PortrayalCatalogue catalogue, FeatureCatalogue featureCatalogue)
Parameters
luaEngineILuaEngineThe sandboxed Lua engine (S-100 Part 9A).
datasetS131DatasetThe S-131 dataset (GML-encoded) to portray.
catalogueS131PortrayalCatalogueThe S-131 portrayal catalogue (Lua rule source).
featureCatalogueFeatureCatalogueThe S-131 feature catalogue (ISO 19110).
Methods
ExecuteAsync(MarinerSettings, CancellationToken)
Runs the rule stage and returns typed drawing instructions ready for the renderer.
public Task<IReadOnlyList<DrawingInstruction>> ExecuteAsync(MarinerSettings mariner, CancellationToken cancellationToken = default)
Parameters
marinerMarinerSettingsMariner-configurable display preferences (S-100 Part 9 §4.2).
cancellationTokenCancellationTokenSignals that the render has been cancelled. Script interpreters are generally not interruptible mid-evaluation, so implementations honour the token at coarse boundaries; the asynchronous shape exists to allow implementations to await catalogue asset loads (compiled XSLT, Lua source) before driving the synchronous engine.
Returns
ExecuteRawAsync(MarinerSettings, CancellationToken)
Runs the Lua portrayal pass and returns the raw emitted drawing-instruction strings keyed by feature reference, without parsing or post-processing.
public Task<IReadOnlyList<EmittedInstruction>> ExecuteRawAsync(MarinerSettings mariner, CancellationToken cancellationToken = default)
Parameters
marinerMarinerSettingsMariner-configurable display preferences (S-100 Part 9 §4.2).
cancellationTokenCancellationTokenHonoured at coarse boundaries before Lua invocation.