BlueprintSeedData
Namespace: Meshmakers.Octo.ConstructionKit.Contracts.BlueprintCatalogs
Resolves the seed-data files a blueprint declares. A blueprint may either name a single file
in BlueprintMetaRootDto.SeedDataPath (the original form) or split its seed
across several files and folders via BlueprintMetaRootDto.SeedDataPaths
(AB#4758). Both the runtime (BlueprintService) and the authoring tooling
(BlueprintCompilerService / octo-bpm) go through this helper so they can never
disagree about which files make up a blueprint's seed.
public static class BlueprintSeedData
Inheritance Object → BlueprintSeedData
Methods
ResolvePaths(BlueprintMetaRootDto)
Returns the effective, de-duplicated list of seed-data file paths of a blueprint, in load order: the single BlueprintMetaRootDto.SeedDataPath first (when set), followed by BlueprintMetaRootDto.SeedDataPaths. Paths are returned in their normalised forward-slash form. Blank entries are dropped; a blueprint without any seed data yields an empty list.
public static IReadOnlyList<string> ResolvePaths(BlueprintMetaRootDto blueprintMeta)
Parameters
blueprintMeta BlueprintMetaRootDto
Returns
Remarks:
Both properties are honoured rather than treating them as mutually exclusive: silently
ignoring one of them would drop entities from the install without any signal.
BlueprintCompilerService.ValidateAsync warns when a blueprint uses both forms.
Normalise(String)
Normalises a blueprint-relative path to the forward-slash form used as the key for de-duplication and for the catalog lookup. This deliberately does not reject traversal paths — that is BlueprintRelativePath.Validate(String)'s job at open time.
public static string Normalise(string path)
Parameters
path String