function drawMoves(edges) {
function getPath(d) {
let path = d3.path();
path.moveTo(d.source.x, d.source.y);
path.lineTo(d.target.x, d.target.y);
return path;
}
const gradient = edges
.append("linearGradient")
.attr("id", d => (d.uid = DOM.uid("link")).id)
.attr("gradientUnits", "userSpaceOnUse")
.attr("x1", d => d.source.x)
.attr("x2", d => d.target.x)
.attr('y1', d => d.source.y)
.attr('y2', d => d.target.y);
gradient
.append("stop")
.attr("offset", "0%")
.attr("stop-color", d => d.source.colour);
gradient
.append("stop")
.attr("offset", "100%")
.attr("stop-color", d => d.target.colour);
edges
.append('path')
.attr('d', d => getPath(d))
.attr('stroke', d => d.uid)
.attr('stroke-width', 6);
}