Skip to content

SetWriter.ExistingSet

Namespace Nfty.Core.Output in assembly Nfty.Core.

public record SetWriter.ExistingSet

What a Set already on disk contributes to an extend run.

Constructors

ExistingSet(IReadOnlyList<string>, int, string?, SetModels?)

public ExistingSet(IReadOnlyList<string> Dnas, int NextNumber, string? CookbookSha256 = null, SetModels? Models = null);

Parameters

  • Dnas (IReadOnlyList<string>) - Every DNA already minted, so new rolls can avoid them.
  • NextNumber (int) - The number the next asset should take.
  • CookbookSha256 (string?) - What set.json recorded as the source archive's hash, so an extend can tell whether the CookBook it was handed is the one that cooked this Set — see SetProvenance. Null means "cannot tell", never "they differ": the Set may have been cooked from an in-memory book, or from a build before the field existed, and its set.json may be absent or unreadable. Optional so it is additive at every existing call site.
  • Models (SetModels?) - What set.json recorded about the Set's 3D models, or null when it recorded none (cooked without models, or unreadable). Optional so it is additive.

Properties

CookbookSha256

public string? CookbookSha256 { get; init; }

What set.json recorded as the source archive's hash, so an extend can tell whether the CookBook it was handed is the one that cooked this Set — see SetProvenance. Null means "cannot tell", never "they differ": the Set may have been cooked from an in-memory book, or from a build before the field existed, and its set.json may be absent or unreadable. Optional so it is additive at every existing call site.

Dnas

public IReadOnlyList<string> Dnas { get; init; }

Every DNA already minted, so new rolls can avoid them.

Models

public SetModels? Models { get; init; }

What set.json recorded about the Set's 3D models, or null when it recorded none (cooked without models, or unreadable). Optional so it is additive.

NextNumber

public int NextNumber { get; init; }

The number the next asset should take.