Editor/Layers/ArchLayerRecord.cs
namespace Sunless.Architecture;
// Explicit layer metadata, written only when a legacy item is reparented, disabled, locked or
// included in an assembly. Untouched plans carry no records and project from typed ownership.
public sealed class ArchLayerRecord {
public int ItemId { get; set; }
public int ParentId { get; set; }
public ArchKind Kind { get; set; }
public ArchLayerStage Stage { get; set; }
public int Order { get; set; }
public bool Enabled { get; set; } = true;
public bool Locked { get; set; }
}
// A cross-layer dependency names semantic ports, never generated object paths.
public sealed class ArchLayerLink {
public int SourceId { get; set; }
public string SourcePort { get; set; } = "";
public int TargetId { get; set; }
public string TargetPort { get; set; } = "";
public bool Required { get; set; } = true;
}