Table of Contents

Namespace EncDotNet.S100.Pipelines.Vector.Lua

Classes

EmittedInstruction

A single drawing instruction emitted by the S-100 Part 9A Lua portrayal pipeline, before it is parsed into the typed DrawingInstruction hierarchy. This is the raw output of HostPortrayalEmit: a feature reference plus a semicolon-separated key:value instruction string.

LuaContextParameter

A context-parameter declaration from a Lua portrayal catalogue (S-100 Part 9A): the parameter id, its encoded type, and its default value, as declared in the portrayal catalogue. This is the Core-level projection of a catalogue's context-parameter set, kept free of any dependency on the portrayal-catalogue assembly so that ILuaRuleSource can live in Core.

LuaContextParameterBinding

Binds a product's declared Lua context parameter to a value derived from MarinerSettings. A binding pairs the declared parameter id with a factory that computes its value and a serializer that encodes that value as a Lua string literal.

LuaPortrayalSession

A Lua state set up for one dataset and one set of mariner settings that portrays chosen features on demand, by passing their ids to the catalogue's PortrayalMain(featureIDs) (S-100 Part 9a). Opened by OpenSessionAsync(MarinerSettings, CancellationToken).

LuaRuleExecutor

Product-agnostic executor for the S-100 Part 9A Lua portrayal stage. Drives the full pass — create context, load main.lua, run provider shims, initialise and override context parameters, call PortrayalMain, dedup and parse the emitted instructions, and apply post-parse transforms — entirely through injected seams, so a single implementation serves every Lua-portrayed product (S-101, S-131, S-57-as-S-101).

LuaSource

Helpers for emitting Lua source from C#. Centralised so that string values flowing from catalogue declarations into generated Lua (e.g. context parameter ids, types, and defaults) are escaped consistently and safely.

LuaValueSerializers

Core serializers that convert a MarinerSettings-derived value into the Lua string literal expected by PortrayalSetContextParameter. These are pure value coercions with no product knowledge — the mapping policy (which mariner setting feeds which declared parameter, and any inversion) lives in each product's LuaContextParameterBinding list.

Interfaces

ILuaDataProvider

The C# side of the S-100 Part 9A Lua Portrayal Model host interface for a single render. A provider bridges a product's dataset (ISO 8211 records for S-101, GML features for S-131) to the Lua Host* functions, collects the instructions emitted by HostPortrayalEmit, and resolves feature references back to their feature-type codes.

ILuaDataProviderFactory

Creates a fresh, render-scoped ILuaDataProvider for each portrayal pass. The factory binds the product's dataset and feature catalogue at construction; Create(MarinerSettings) supplies the per-render MarinerSettings.

ILuaVectorRuleExecutor

Diagnostic extension of IVectorRuleExecutor for Lua-based portrayal engines (S-100 Part 9A). Exposes the raw pre-parse emit stream (EmittedInstruction) in addition to the typed ExecuteAsync(MarinerSettings, CancellationToken) output.