Editor/Layers/ArchLayerRef.cs

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; }
}