class_name ToolPowerDemand extends RefCounted var tool_id: StringName var effective_power_kw: float func _init(p_tool_id: StringName, p_effective_power_kw: float) -> void: tool_id = p_tool_id effective_power_kw = p_effective_power_kw func validation_error() -> String: if tool_id.is_empty(): return "tool_id is empty" if not is_finite(effective_power_kw) or effective_power_kw < 0.0: return "tool power must be finite and non-negative" return ""