Skip to main content

IBlueprintEmbeddedSource

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.BlueprintCatalogs

Discovery hook for a single embedded blueprint version. Implementations are produced by the blueprint source generator and registered as DI services (one per blueprint version shipped in a NuGet package). The engine's EmbeddedResourceBlueprintCatalog consumes the registered set at runtime to enumerate available blueprints and to open files inside them via the assembly's manifest-resource stream API.

public interface IBlueprintEmbeddedSource

Remarks:

This is the blueprint analogue of ICkEmbeddedMigrationSource for CK-model migrations: a minimal Assembly + ResourceNamespace pointer rather than the full deserialised blueprint, so the catalog can lazy-load on demand and the DTO contract stays in ConstructionKit.Contracts.

Properties​

BlueprintId​

Identifier of the embedded blueprint, including version. Stamped into the generated source by the blueprint generator from the YAML manifest's blueprintId field.

public abstract BlueprintId BlueprintId { get; }

Property Value​

BlueprintId

Description​

Short description of the blueprint, copied from the manifest's description field. Used for catalog listings (Studio UI, octo-cli -c ListBlueprints) without forcing a manifest deserialisation roundtrip.

public abstract string Description { get; }

Property Value​

String

Assembly​

Assembly that carries the embedded resources for this blueprint.

public abstract Assembly Assembly { get; }

Property Value​

Assembly

ResourceNamespace​

Base resource namespace for the embedded blueprint files, e.g. Meshmakers.Octo.ConstructionKit.Models.System.Communication.Blueprints.Communication-1.0.0. The catalog appends .blueprint.yaml for the manifest and .{relativePath-with-slashes-as-dots} for sibling files.

public abstract string ResourceNamespace { get; }

Property Value​

String