validate method

  1. @override
List<ValidationResult> validate(
  1. ElectricalNode root
)
override

Validate a specific node tree

Implementation

@override
List<ValidationResult> validate(ElectricalNode root) {
  final results = <ValidationResult>[];

  // Flatten tree
  final allNodes = _flatten(root);

  for (var node in allNodes) {
    double limit = 5.0; // Default generic limit (Private use)

    // Determine limit based on node type/context (simplified)
    // Lighting: 3%, Others: 5% (Main feeder varies)
    // For MVP we stick to 5%.

    // Check Voltage Drop in State (Calculated by Engine)
    final drop = node.state.voltageDropPercent;

    if (drop > limit) {
      results.add(ValidationResult(
        nodeId: node.id,
        ruleId: id,
        message:
            'Caída de tensión excesiva: ${drop.toStringAsFixed(2)}% (Máx $limit%)',
        severity: ValidationSeverity.error,
      ));
    }
  }

  return results;
}