Implementation
const factory DiagramState({
// Root of the Single Tree (e.g. Acometida or Main Panel)
ElectricalNode? root,
@Default(DiagramStatus.initial) DiagramStatus status,
@Default([]) List<CalculationError> validationErrors,
String? errorMessage,
// Visual Position Map (ID -> Offset)
// Kept separate from Entity for pure layout logic
// Visual Position Map (ID -> Offset)
// Kept separate from Entity for pure layout logic
@Default({}) Map<String, Offset> nodePositions,
// Undo/Redo State
@Default(false) bool canUndo,
@Default(false) bool canRedo,
}) = _DiagramState;