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