Namespace Kuestenlogik.Bowire.Semantics.Extensions
Classes
- BowireExtensionAttribute
Marks a class as a Bowire extension — a viewer / editor (IBowireUiExtension) or a semantic-kind detector (IBowireFieldDetector) that the workbench should auto-discover at startup via assembly scan. The attribute itself carries no metadata; the implementation class supplies id / capabilities / resource names through the implemented contract interface.
- BowireExtensionRegistry
Discovery + cache for IBowireUiExtension and IBowireFieldDetector instances. Mirrors
BowireProtocolRegistry: a single static Discover() sweeps every loadedKuestenlogik.Bowire*assembly, instantiates the types tagged with BowireExtensionAttribute that implement one of the supported extension interfaces, and exposes them as flat lists.
- EmbeddedExtensionAsset
Helpers for loading bundle / stylesheet assets that an IBowireUiExtension ships as embedded resources of its declaring assembly.
- MapLibreExtension
Bowire UI extension that mounts the MapLibre GL JS map widget on the
coordinate.wgs84semantic kind. Lives in theKuestenlogik.Bowire.MapNuGet package — the first concrete consumer of the extension API the ADR pins under "Extension framework", and the dogfood proof that the same shape third parties use is the shape Bowire's own widgets use.
Interfaces
- IBowireUiExtension
Server-side descriptor for a Bowire UI extension (viewer and/or editor). Discovered via assembly scan over types tagged with BowireExtensionAttribute; surfaced to the workbench through the
/api/ui/extensionsJSON endpoint, which the JS loader iterates at boot to know which bundles to fetch and which kinds the extension claims.
Enums
- ExtensionCapabilities
Bitmask of capability flags exposed by an IBowireUiExtension. Drives the workbench's mount decision: a coordinate.wgs84 extension that only declares Viewer never appears as a request-side editor; one that declares both flags can serve either role on the same kind.