{
const [pin1, pin2, dText1, dText2, dDragger1, dDragger2] = nodes
const dom = html`
<svg class="main-chart" viewBox="0 0 400 100">
<g>
<rect id="bar" width="300" height="1" x="50" y="25" fill="green" />
<circle
id="pin1"
r="${pin1.r}"
cx="${pin1.x}"
cy="${pin1.y}"
fill="rgba(0, 255, 255, 0.3)"
/>
<circle
id="pin2"
r="${pin2.r}"
cx="${pin2.x}"
cy="${pin2.y}"
fill="rgba(0, 255, 255, 0.3)"
/>
<circle id="text1" r="${dText1.r}" cx="${dText1.x}" cy="${dText1.y}" fill="rgba(0, 0, 255, 0.3)" />
<circle id="dragger1" r="${dDragger1.r}" cx="${dDragger1.x}" cy="${dDragger1.y}" fill="rgba(0, 0, 255, 0.5)" />
<circle id="text2" r="${dText2.r}" cx="${dText2.x}" cy="${dText2.y}" fill="rgba(0, 128, 128, 0.3)" />
<circle id="dragger2" r="${dDragger2.r}" cx="${dDragger2.x}" cy="${dDragger2.y}" fill="rgba(0, 128, 128, 0.5)" />
</g>
</svg>`;
const bar = dom.querySelector('#bar')
const text1 = dom.querySelector('#text1')
const dragger1 = dom.querySelector('#dragger1')
const text2 = dom.querySelector('#text2')
const dragger2 = dom.querySelector('#dragger2')
drag(simulation, dDragger1)(d3.select(dragger1));
drag(simulation, dDragger2)(d3.select(dragger2));
dText1.fx = null
dText2.fx = null
while (true) {
dragger1.setAttribute('cx', dDragger1.x)
dragger1.setAttribute('cy', dDragger1.y)
text1.setAttribute('cx', dText1.x)
text1.setAttribute('cy', dText1.y)
dragger2.setAttribute('cx', dDragger2.x)
dragger2.setAttribute('cy', dDragger2.y)
text2.setAttribute('cx', dText2.x)
text2.setAttribute('cy', dText2.y)
yield dom;
}
}