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, callPortrayalMain, 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 byHostPortrayalEmit, 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.