{
const svg = d3.create("svg")
.attr('width', width)
.attr('height', 50)
let lineGenerator = d3.line()
while (true) {
svg.selectAll('.link')
.data(randomStraightLineData(), d => d.id)
.join(
enter => enter.append('path')
.attr('class', 'link')
.attr('d', d => lineGenerator([d.sourcePoint, d.targetPoint]))
.attr('stroke-width', '1px')
.attr('stroke', 'black'),
update => update.call(update => {
return update.transition(200)
.attr('d', d => lineGenerator([d.sourcePoint, d.targetPoint]))
}
)
)
yield svg.node()
await Promises.tick(1000)
}
}