Table of Contents

Interface IVectorRuleExecutor

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

Executes one portrayal-rule engine for a bound dataset and returns typed drawing instructions. This is the unified pipeline's pluggable rule stage: VectorPipeline invokes each registered executor once per render and concatenates the results before viewing-group filtering and priority sorting.

public interface IVectorRuleExecutor

Remarks

Implementations are engine-specific siblings — the Lua engine (S-100 Part 9A) and the XSLT engine (S-100 Part 9 §9.4) each implement this interface. Concrete executors typically bind their dataset and portrayal catalogue at construction time, so callers configure them per render rather than per pipeline.

Methods

ExecuteAsync(MarinerSettings, CancellationToken)

Runs the rule stage and returns typed drawing instructions ready for the renderer.

Task<IReadOnlyList<DrawingInstruction>> ExecuteAsync(MarinerSettings mariner, CancellationToken cancellationToken = default)

Parameters

mariner MarinerSettings

Mariner-configurable display preferences (S-100 Part 9 §4.2).

cancellationToken CancellationToken

Signals 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

Task<IReadOnlyList<DrawingInstruction>>