Immutable value type representing a stable reference to an authored layer. It stores the layer payload id (ItemId), the layer kind (ArchKind), and the payload-level parent id (ParentId).
namespace Sunless.Architecture;
// A stable handle to one authored layer. ItemId is the payload's own plan id - the layer system
// never introduces a second identity. ParentId is the payload-level parent (0 means a root domain);
// virtual nodes like story groups have no id and therefore no ref.
public readonly record struct ArchLayerRef
{
public int ItemId { get; init; }
public ArchKind Kind { get; init; }
public int ParentId { get; init; }
}