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
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
Assembly
Assembly that carries the embedded resources for this blueprint.
public abstract Assembly Assembly { get; }
Property Value
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; }