copy method
Implementation
NodeModel<T> copy() {
return NodeModel<T>(
id: id,
data: data,
position: position.copy(), // assuming Vector2 has copy()
inputSockets: inputSockets.map((s) => s.copy()).toList(),
outputSockets: outputSockets.map((s) => s.copy()).toList(),
);
}